<1>继承是一种归纳总结思想;
<2>继承可以简化之后的开发压力
<3>通过继承可以优化代码,提高方法的复用度
关键字:extends
格式: class A extends B{ }
A 类是B类的一个子类;
B类是A类的唯一父类;
【注意】Java 中一个子类只能继承一个父类,不能继承多个父类,Java 只能单继承;
class Company{ //父类 //成员变量 //private 修饰的————不可以继承给子类使用 private String name; private String sex; private String age; //public 修饰的————可以继承给子类使用 protected String phone; //成员方法 public void member(){ System.out.println("嗨"); } //无参构造方法 public Company(){ System.out.println("调用父类的构造方法"); } } class Member extends Company { //子类 //成员变量 private String size; //成员方法 public void memberSize(){ System.out.println("人群"); } //构造方法 public Member(){ System.out.println("调用子类的构造方法"); } } public class Test { public static void main(String[] args) { //创建一个父类对象 Company company = new Company(); //使用父类对象成员方法 company.member(); //创建一个子类 Member member = new Member(); //调用子类的成员方法 member.memberSize(); //【利用子类的对象】调用父类的成员方法 【继承的作用】 member.member(); //【利用子类的对象】调用父类的成员变量 【继承的作用】————调用非private修饰的 member.phone = "994155"; //【注意】使用private 修饰的成员变量和成员方法不能继承给子类使用 //无法直接调用父类的构造方法,只能调用子类的构造方法 //但是调用子类的构造方法时,又会自动的去调用父类的怕【无参构造方法】 //创建一个对象本身就是在调用一个类的构造方法 比如 Member member = new Member(); //创建这个对象的同时也调用了无参构造方法来进行初始化 } }
<1>A类使用extends关键字继承B类,A类就是B类的子类,B类就是A类的唯一父类;
<2>继承之后,子类可以通过继承得到父类中的非private 修饰的成员变量,成员方法;
<3>继承中子类不能继承,父类中private修饰的成员变量与成员方法;
【难点】
<4>子类在继承父类的时候,调用构造方法的时候,会默认调用父类的【无参数构造方法】;
父类的构造方法不是在创建父类对象,而是在初始化父类的成员变量空间; 但是无法直接调用父类的构造方法;