package com.hb2.继承2;
//父类、也被成为基类、超类
//子类、也被成为派生类
//继承:提高了代码复用性,提高了代码维护性,但削弱子类的独立性
public class Demo {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
/*
子类中所有的构造方法,默认会先访问父类无构造,若父类无无参构造,
需写上super(数据),调用父类有参构造
因为子类会继承父类中的数据,还可能会使用父类的数据。所以,
子类初始化前,一定要先完成父类数据的初始化
每一个子类构造方法的第一套语句默认是:super()
*/
//子类可以有父类的内容
//子类也可以有自己特有的内容
// this.成员变量 :访问本类成员变量
// this(...) :访问本类构造方法
// this.成员方法(...) :访问本来成员方法
//
}
}
//在子类方法中访问一个变量
// 1、子类局部范围内找
// 2、子类成员范围找
// 3、父类成员范围找
// 4、如果都没有就报错(不考虑父亲的父亲)
//
//继承 //子类继承了父类,就会有父类的全部方法 //在java中,所有的类,都默认继承object类 //java中,只能有单继承,没有多继承 //一个儿子只能有一个爸爸,一个爸爸能有多个儿子 //私有的东西无法被继承 public class someone extends person{ //ctrl+h 显示继承关系 String name= "dashabibi"; public void text(String name){ System.out.println(name);// 输入的值 System.out.println(this.name);//this 调用此类name System.out.println(super.name);//super 调用父类name } }
父类:
子类
输出:(隐藏调用了父类的无参构造器!)
若将父类构造器写在前,会出现错误,父类构造器要在前
调用构造器,要么调用父类构造器,要么调用子类构造器,必须在第一行。