1.为什么要用类的继承? 当在定义学生这类时,还有大学生,大学电脑专业学生,存在大学电脑专业学生属于大学生,大学生属于学生这种关系。因此学生具有的方法大学生也具有,使用extends关键字省去了在每个类中重复写代码的必要。
2.继承的格式和继承到了什么? <1>子类继承了父类所有的属性和方法。(不包含构造方法) <2>哪些属性和方法能被调用: 同包() 不同包(受保护的属性只能在子类中使用) eg:A{ protected String a;} B extends A{ a属性在此调用 } C{不可调用a} public class子类extends父类{ }此时子类继承了父类中的属性和方法。
3.方法的重写 返回值类型相同,参数类型相同,必须要有继承关系,返回值修饰符必须完全相同,方法名必须和父类中的完全一致,但其中的方法可以不同。
4.自动转型 好处:节省代码。 在实例化对象时,使用 父类 变量名=new 子类();这种格式实现自动转型,此变量即变为父类类型中的变量。转型后只能调用父类中的方法,不能调用子类中的方法了。 注:java中子类一次只能继承一个父类。
5.多态 相同类型的对象调用相同的方法时,由于继承和重写机制得到的结果不一定相同。因此具体问题具体分析。
6.接口定义 好处:将预先想要的方法给定义好了,可以直接用。接口也可丰富类的继承关系。接口的抽象方法子类中必须继承,解决了某些方法在子类中不存在的问题。 public interface 接口名 extends 接口名,... { }; 接口中可以定义的有常量,它的格式 public static final 数据类型 常量名 = 值;和抽象方法,它的格式为public 返回值数据类型 方法名(数据类型 参数名,...);
7.实现接口的格式 public class 类名 extends 类名(继承类必须在继承接口之前) implements 接口名,...{ public 返回值数据类型 方法名(数据类型 参数名,...){ //代码 } } 注:类实现接口后必须要实现接口中的抽象方法。
8.接口与类的区别 <1>定义类用class,定义接口用interface。 <2>一个接口可以继承多个接口,但一个类只能继承一个类。 <3>接口中只能定义常量和抽象方法,而类中可以定义属性常量方法等。 <4>接口的访问修饰符默认为public,因此public可省。但类中的访问修饰符不可省。 <5>类可以实例化对象,接口不可以。 |