2019-01-22
内容:抽象类、接口
一、抽象类
释义:用abstract关键字修饰的类就是抽象类
特点:*抽象类不能被实例化,但是有构造器
*抽象类中的抽象方法由其子类实现,抽象类中抽象方法只需声明即可
*抽象类中可以没有抽象方法,但是如果一个类中有抽象方法,则这个类必须是抽象的
*当我们不需要创建一个类的对象时,就可以考虑将此类设计为抽象类
释义:用abstract关键字修饰的类就是抽象类
特点:*抽象类不能被实例化,但是有构造器
*抽象类中的抽象方法由其子类实现,抽象类中抽象方法只需声明即可
*抽象类中可以没有抽象方法,但是如果一个类中有抽象方法,则这个类必须是抽象的
*当我们不需要创建一个类的对象时,就可以考虑将此类设计为抽象类
二、接口
释义:接口是和类并行的一个概念,用来实现某种功能
特点:*接口没有构造器
*接口中只有属性和方法,属性默认是public static final,方法默认是public abstract
*接口中只声明方法,由接口的实现类去实现接口中的方法(重写)
*一个类可以实现多个接口
*接口和接口之间可以继承,而且支持多继承,即一个子接口可以有多个父接口
*接口与具体的实现类之间也存在多态性
接口使用举例:
释义:接口是和类并行的一个概念,用来实现某种功能
特点:*接口没有构造器
*接口中只有属性和方法,属性默认是public static final,方法默认是public abstract
*接口中只声明方法,由接口的实现类去实现接口中的方法(重写)
*一个类可以实现多个接口
*接口和接口之间可以继承,而且支持多继承,即一个子接口可以有多个父接口
*接口与具体的实现类之间也存在多态性
接口使用举例:
1 public class TestJieKou { 2 3 public static void main(String[] args) { 4 Computer com1 = new Computer(); 5 com1.show(); 6 } 7 } 8 public interface Product { 9 void show (); 10 11 } 12 public class Computer implements Product{ 13 String name; 14 double price; 15 16 public Computer() { 17 18 } 19 public Computer(String name, double price) { 20 this.name = name; 21 this.price = price; 22 } 23 24 @Override 25 public void show() { 26 System.out.println(toString()); 27 } 28 @Override 29 public String toString() { 30 return "Computer [name=" + name + ", price=" + price + "]"; 31 }