什么是继承?
继承是面向对象三大特征之一,java中的继承描述的是两个类之间的关系,被继承的类称为父类,继承的类成为子类
继承使用关键字extends关键字来描述。在java里面只支持单继承及一个类只能有一个父类,子类可以继承的非private修饰的成员方法和成员变量,构造方法不能被继承,java中的继承和生活中的继承颇为相似,现实生活中一个儿子只能有一个父亲,儿子可以继承父亲的房子车子但是不能继承父亲打闹里面的思想和知识。如果一个类没有显示的继承其他类,那么这个类会默认继承object类
object是sun公司提供的java中的根类****
继承的优点:
提高代码的复用性
提高代码的维护性
让类与类之间产生关系,是多态的前提
继承的缺点:
增强了类之间的耦合
软件开发的一个原则是高内聚、低耦合
内聚是一个模块内各个元素彼此结合的紧密程度
耦合是一个软件里面不同模块之间的互相连接的数量**
package com.Test.java;
/**
* 爷爷类
*/
public class SuperSuperClass {
public void m0(){
System.out.println("SuperSuperClass中的m0方法");
}
}
package com.Test.java;
/**
* 儿子类
*/
public class SuperClass extends SuperSuperClass{
public void m1(){
System.out.println("SuperClass中m1方法");
}
private void m2(){
System.out.println("SuperClass中m2方法");
}
}
package com.Test.java;
/**
* 孙子类
*/
public class SubClass extends SuperClass {
public void m3(){
System.out.println("SubClass里面的m3方法");
}
}
package com.Test.java;
/**
* 测试类
*/
public class Test01 {
public static void main(String [] args){
SubClass s = new SubClass();
s.m0();
s.m1();
// s.m2(); 子类不可以访问父类中private修饰的方法
s.m3();
}
}