继承

继承
什么是继承?
继承是一种联结类的层次模型,并且允许和鼓励类的重用, 它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生, 这个过程称为类继承。新类继承了原始类的特性, 新类称为原始类的派生类(子类),而 原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
继承的“基本”作用
代码的复用
有了继承才有了 方法的覆盖和多态机制

java语言中的继承只支持单继承
一个类中不能同时继承很多类
只能继承一个类 c++中支持多继承

虽然java中只支持单继承 但是一个类可以间接继承其他类

java中子类继承父类都继承哪些数据?
私有的不支持继承
构造方法不支持继承
其他数据都可以继承

java中假设一个类没有显示的继承任何类 该类默认继承JavaSE库中提供的
java.lang.object类

继承就是 子类可以继承父类公有的属性和方法 继承关键字是 extends
子类不能继承父类的构造方法 也就是说 super() 不是继承 而是调用
继承优点: 实现类的重用 减少代码的冗余。

子类继承父类后 子类可以访问父类公有的属性 对象可以直接访问父类的属性
子类可以访问父类中的方法 对象可以直接访问父类的方法
子类可以重新父类中的方法

/**
 * 父类  人类
 */
public class People {
 //公有属性
 public String name;
 public String sex;
 public int age;
 public String id;
 
 //公有方法
 public void display(){
  System.out.println("人可以思考");
 }
}
/**
 * 学生类 子类 继承 人类 能拥有人类中的属性
 * 
 * 继承表示子类可以继承父类中公有的属性和方法
 */
public class Student extends People{//学生类继承人类
 public String stuNo;//学号
 
 public void show(){
  System.out.println("我的姓名"+name+"\t学号"+stuNo);
 }
 //子类重写 父类中的方法
 public void display(){
  System.out.println("学生可以思考");
 }
}

什么叫做重写
子类重写了父类中的方法 :方法名称相同 参数列表相同 返回值相同
什么叫做重载
仅仅在一个类中 方法名相同 参数列表不同 与返回值无关
什么叫做构造方法
在一个类中 方法名称与类名相同 无返回值的方法 叫做构造方法

this 当前对象
super 父类对象

this()当前对象的构造方法
super()父类对象的构造方法
super();必须出现在第一行
子类构造方法会默认调用父类的无参构造方法super()
可以指明调用父类的有参构造方法

public class Student extends People{
 private String stuNo;
 
 //子类构造方法 无参
 public Student(){
  System.out.println("学生类的无参构造方法被调用");
 }
 //知识点this() super() 各自的作用
 public Student(String name){
  //this(); //this()调用的是当前的构造方法
  //super();//super() 调用的是父类的构造方法
 }
 //有参的构造方法
 public Student(String name, int age, String id, String sex, String stuNo){
  //使用super关键字
  super(name,age,id,sex);//首先调用父类中的构造方法
  this.stuNo = stuNo;
 }
 //知识点 :this super 各自的用法
 public void show(){
  System.out.println(this.stuNo);//当前对象
  System.out.println(super.getName());
 }
}

为什么类会首先调用父类的构造方法
因为在继承关系中必须先有父再有子

Object 是所有类的 超类 基类 父类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值