Java基础学习 Day11 封装,继承及super

封装
  1. 高内聚 类的内部数据操作细节自己完成,外部不允许干涉
    低耦合 仅暴漏少量方法给外部使用。
  2. 属性私有 private
    get / set 方法
    快捷键:Alt+ insert + get/set

特点:

  1. 提高程序安全性,保护数据
  2. 隐藏代码实现细节
  3. 统一接口
  4. 系统可维护性增加
继承

类的抽象,extends 扩展,父与子的关系

  1. 类和类之间的关系,还有依赖,组合,聚合等
  2. 继承关系的两个类,一个是子类(派生类),一个是父类
    子类继承父类,使用extends
  3. 子与父之间,应该具有 is a 的关系
    Person ------- Teacher,Student
    Student is a Person

查看继承权树:Ctrl + H

java中,所有的类默认直接或间接继承Object类

  • 只有单继承,一个子一个父,一个父多个子
  • 私有属性或方法无法被继承
// 父类
// Java中,所有类都直接或间接继承object类
public class Person {
    public Person() {
        System.out.println("Peron无参执行了");
    }
}
// 子类,派生类 is a
// 子类继承父类,就会有父类的全部方法
public class Student extends Person {
    // 父类没有无参构造时,子类也无法调用它的无参构造,可以调用有参构造super("参数");
    public Student() {
        //隐藏了 调用父类的无参构造
        super(); // 调用父类构造器,必须要在子类构造器的第一行
        System.out.println("Student无参执行了");   //先执行父类无参构造方法
    }
}

main中test代码:
   Student stu2 = new Student();

结果:Person无参执行了
     Student无参执行了
super 父类中参数引用
  1. 调用父类构造方法,必须在方法的第一个
  2. 必须只能出现在之类的方法或构造方法中
  3. super和this 不能同时调用构造方法

​ this | super
本身调用者对象 | 父类对象应用
没继承也可使用 | 继承条件下可使用
this();本类构造 | super();父类构造

public class Person {
    protected String name = "Father";
}

public class Student extends Person {
    private String name = "Son";
    
    public void test(String name){
        System.out.println(name);  // 传入参数:dudu
        System.out.println(this.name);   //当前类参数:Son
        System.out.println(super.name);   //父类参数:Father
    }
}

main中test代码:
    Student stu2 = new Student();
    stu2.test("dudu");

结果:dudu
     Son
     Father
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值