类的继承
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,类可以实例化对象,接口不可以。

 

9.抽象类
加上关键字abstract。什么都可以定义。(包括抽象方法、方法、构造方法等等)