java面向对象04:继承

继承

  1. 什么是继承?

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为并能扩展新的能力
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类

  1. 继承的特点
  1. 继承关系是传递的。若类C继承类B,类B继承类A(多层继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
  2. java只支持单继承,即一个子类只允许有一个父类,但是一个父类可以有多个子类。
  3. 继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。
  4. 继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性
  5. 提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承
  6. 子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。
    如果父类的构造器带有参数,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表
    如果父类构造器没有参数,则在子类的构造器中不需要使用super关键字调用父类构造器,系统会自动调用父类的无参构造器
  7. 不能继承夫类私有的方法和属性
  8. 子类可以重写父类的方法,但权限不能降低
  9. Object类:所以的类都默认或直接继承Object类
  1. 继承实例
//父类
public class Person {
//私有属性不能被继承,但是可以通过get set方法来操作
   private int money=10000;
   public int age;
   public int weight=100;
   public static void talk(){
         System.out.println("啊");
  }
}
//子类
//关键词extends,扩展,继承的意思,扩展父类没有的属性和方法,继承父类拥有的属性和方法
public class Student extends Person {
    //父类没有的方法
    public void eat() {
        System.out.println("吃");
    }
}
//测试类
public class Test {
    public static void main(String[] args) {
    Student student = new Student();
    //由于子类继承了父类所有的public方法所以  
    //子类student的对象可以直接调用父类的talk方法
    student.talk();
    student.age=100;
    System.out.println(student.age);
    System.out.println(student.weight);
        
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值