封装与继承

封装的作用

  • 封装是为了解决安全性问题

封装的描述 把对象的全部属性和服务结合在一起 形成一个不可分割的部分 以及尽可能隐藏对象的内部结构

怎么封装

1类的定义

2方法定义

封装实现

  • 属性private化
  • 提供get()set()方法

举例以及调用

public class Box {
 private double length;
    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }

    public static void main(String[] args) {
        Box box=new Box();
        box.setLength(20.1);
        System.out.println(box.getLength());
    }
}

继承

  • 子可调用父,父不可调子
  • 子类继承父类所有成员 private和默认跟随继承 但是没有访问权限
  • 子类创建前 必先创建父类 先有父再有子
  • 如果类没有继承 则默认继承object类
  • 一个子类只能继承一个父类(单继承)
  • 继承具有传递性
  • public class Squree extends Box{
        public static void main(String[] args) {
            Squree squree=new Squree();
            squree.getLength();
        }
    }
    

    Squree继承了Box类 并且 调用Box类中的 getlength方法

  • 如果父类重写带参构造,则子类也必须重写带参构造

  • public class Box {
     private double length;
     int  a;
     int b;
     Box(int a,int b){
    
     }
        public double getLength() {
            return length;
        }
    
        public void setLength(double length) {
            this.length = length;
        }
    
    }//因为Box类自定义了带参构造方法 因此子类Squrree也要重新构造带参的构造方法
    
    public class Squree extends Box{
        Squree(int a, int b) {
            super(a, b);
        }
    
        public static void main(String[] args) {
            Squree squree=new Squree(2,4);
            squree.getLength();
        }
    }

super 与this

  • this 当前对象的引用
  • super 父类对象的引用
  • super(参数)父类的构造方法
  • this(参数)本类的构造方法
  • super(参数)和this(参数)必须写第一行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值