封装,继承,多态,instanceof,类型转换

封装

一:封装大多数时候是对于属性而言,方法用的封装较少

二:关键字private(与public相对)

public class Demo01 {
    private String name;//属性私有。
    private int num;
    private char sex
}

给属性加上private,则其他类中不能再实例化了,如图,报错。

  •  使用public的get/set来提供一些可以操控这些私有属性的方法。

get:获取数据。

set:给这个数据设置值

public class Demo01 {
    private String name;
    private int num;
    private char sex;

    public String getName(){//get获得这个数据
        return this.name;
}
public void setName(String name){//set 给这个数据设置值
  this.name = name;
}
}

将一些属性设为private,不对外开放,利用get/set 留下端口操作,确保了安全性和交互性。

 利用set设定一些属性的具体限制,以避免出错。

鼠标右键选择Generate 

 快捷选择

 得到

 封装小结:1.提高程序的安全性,保护数据

                    2.对外隐藏代码的具体细节

                     3.统一接口

                     4.增加系统的可维护性

继承

一:

 关键字extends

子类继承了父类就会有父类的一切方法(但如果父类中有的属性为private则不能继承)

父类

public class Person {
    public int money = 10_0000_0000;
    public void say(){
        System.out.println("说了一句话");
    }
}

 子类

public class Demo02 {
    public static void main(String[] args) {
        Student student = new Student();
         student.say();
        System.out.println(student.money);
    }


   快捷键Ctrl+h,在侧边栏显示继承      

     (Java中所有类都默认直接或间接继承object)    

二:super(利用super在子类中调用父类的东西)

  •  如果要调用父类的构造器必须在子类构造器第一行调用

 三:方法重写(和属性无关)

  • 如果方法是静态的,则有如下结果

  •  如果是非静态的

 出现这种结果是因为子类重写了父类的方法。

为什么需要重写:

1.父类的功能,子类不一定需要或不一定满足

总结:

1.需要有继承关系,子类重写父类的方法,则之后走zile

 2.方法名必须相同,参数列表必须一样,方法体不同

 3.范围可以扩大(如果从private到public)public>protected>Default>private

  4.抛出的异常:范围可以被缩小不能被扩大

多态

一:

父类的引用可以指向子类

 子类和父类指向的引用不一样

  注意事项:

 1.多态是方法的多态,属性没有多态

 2.父类和子类必须要有联系,否则会有类型转换异常(ClassCastException)

 3.存在条件:继承关系,方法需重写,而且父类的引用是指向子类对象的

instanceof(判断两个类之间是否存在父子关系)

可应用如图

 类型转换

高转低需要强制转换,反之不用

 两个转换句式

 类似(int)xxx

总结:

1.父类引用指向子类的对象
2.把子类转换为父类,向l转型;
3.把父类转换为子类,向下转型:强制转换
4.方便方法的调用,减少重复的代码,更加简洁;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值