JAVA之封装、继承、多态

封装:别的类无法直接访问本类中的数据

  属性封装(private,get/set安全角度)
  方法封装:对方法的代码块里面的逻辑进行封装

继承:extends

   1.Java中的继承是单继承。(一个类有且只有一个父类,但一个父类可以有多个子类)
   2.子类可以继承父类的非私有属性和方法。
   3.子类的所有构造器(第一行默认添加super();)都会默认的调用父类的无参构造器。
   4.如果子类有对应的属性/方法,则使用自己的,不会使用从父类继承下来的(方法重写)。
     注意:子类继承父类一定是将其非私有内容先继承过来,然后再看自己的类中有没有重写相对应的属性或方法。
   5.Object是所有类的父类。

多态:同一个类型的变量指向不同的实现对象,调用相同的方法结果不同。(一定是发生在子父类/接口和实现类之间。)

类型转换:(砍掉中间商)
Person p = new Child();---------->拆解为:
Child c = new Child();
Person p=c;
----------------------------------------------
Person p = new Person();
Child s=(Child)p;//编译不会错,运行时错误
java.lang.ClassCastException类型转换异常

instanceof:用来判断内存中实际对象A是不是B类型
System.out.println(o instanceof X);//判断o指向的对象的实际类型,是不是X的子类或者实现类。
System.out.println(o instanceof String);//编译报错,string是final修饰的类
注意:如果o是一个接口类型声明的变量,那么只要X不是一个final修饰的类,该代码就能通过编译,至于其结果是不是true,
     就要看变量o指向的对象的实际类型,是不是X的子类或者实现类了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值