Java学习第15天(instanceof关键字 类型转换 Static关键字 抽象类)

instanceof

用于判断两个类是否存在父子关系
instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建(new)对象时,返回true;否则,返回false。
如果创建对象左右两边都与instanceof右边类有关系,直接编译不通过

类型转换

低转高会自动转换,高转低要强制转换
在继承关系中 父类代表高的 子类代表低的
例如:创建了一个student对,用person类型实例化,低转高,可以自动完成(但是可能会丢失本来自己的方法)。
Person person=new Student();
此时person可以使用Person类中的方法,不可以使用Student中的
可以强制转换,将person从Person高转到Student低就可以使用子类的方法
((Student)person).方法();

  1. 父类引用指向子类对象
  2. 子类向父类 ,向上自动转换
  3. 父类向子类,向下强制转换
  4. 方便方法调用,减少重复代码

Static关键字

Static修饰的变量,方法随着类一起加载,为类所共享
推荐使用类名访问静态变量(可以方便判断为静态变量),静态变量对于这个类而言只有一个,被类中所有实例共享。非静态变量引用必须先实例对象,对象.变量

没办法在主函数中直接调用非静态方法run,必须先实例对象,对象.方法。
静态方法可以直接调用或者类名.方法,而且非静态方法可以直接访问类中的静态方法,静态方法中可以调用静态的不能调用非静态的
在这里插入图片描述
就可以省略math.直接用方法名调用方法

final修饰的类不能继承

抽象类(不是重点)

abstract抽象类
修饰方法 public abstract void dosomething
抽象方法 没有方法实现只有方法名字
抽象类的子类,都必须实现他的所有方法,除非子类也是abstract的。
extends类只能单继承,就是一个类只能有一个父亲,但是接口可以多继承。
注意:

  1. 抽象类不能new出一个实例,只能由子类实现,相当于一个约束
  2. 抽象类中可以写普通方法,但是如果有抽象方法,必须是抽象类。
    思考题:
    抽象类不能new,那么有构造器吗?
    抽象类作用:节省代码提高开发效率。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值