一、继承
01.1定义:
Java中的继承,子类可以继承父类的成员(成员变量成员方法)
如何让类和类之间形成父子继承关系,使用关键字extends
01.2继承的好处:
提高代码的复用性和维护性。
01.3继承的弊端:
让类和类之间产生了关系。那就增加了耦合性。程序的设计原则高内聚(一个类独立完成某个功能的能力)、低耦合。
耦合:类和类之间的一种依赖关系。
01.4Java继承的特点:
1、Java中只支持单继承,一个子类只能有一个父类。但是我们支持多层继承。
2、Java中子类只能继承父类非私有的成员。
3、构造方法不参与继承。
继承就是把多个子类共性部分,向上抽取到父类当中,以实现代码的复用性和维护性。
案例演示1:
package com.Homework.day08;
public class Teacher {
public static void eat(){
System.out.println("吃饭");
}
public static void sleep(){
System.out.println("睡觉");
}
}
--------
package com.Homework.day08;
public class Student1 extends Teacher{
public void play(){
System.out.println("playgame");
}
}
---------
package com.Homework.day08;
public class Test {
public static void main(String[] args) {
Student1 stu1 = new Student1();
stu1.eat();
Student1.sleep();
}
}
案例演示2:演示弊端
package com.Homework.day09.note;
public class Zi extends Fu {
//方法重写
public void show(){
System.out.println("zi show");
}
public void method(){
System.out.println("zi method");
}
}
--
package com.Homework.day09.note;
public class Demo2 {
public static void main(String[] args) {
Fu f=new Zi();//多态
f.show();//如果不使用多态。
Zi zi= (Zi) f;
zi.method();//向下转型
}
}//zi show
// zi method
注意:
- 当成员变量和局部变量重名时,遵循就近原则,先在方法内和形参找,如果找不到就去该类的成员范围找。
- 如果在子类的成员范围没有找到,就去父类的成员范围找。如果还没有找到就报错。