百木园-与人分享,
就是让自己快乐。

Java instanceof&类型转换 &static &抽象类 &内部类

  • instanceof:判断两个类之间是否存在父子关系;左边是对象,右边是类,当对象是右边类或子类或父类或父类的父类创建的对象时,返回true;

 

  • 类型转换:低转高:不需要强制类型转换;高转低:类型 标识符 = (类型)变量名;子类转化为父类可能丢失自己本来的一些方法->Person person = student;

 

   or  

 

 

 

 

  • static关键字
  1. 静态属性:无法通过类调用非静态属性
  2. 静态方法:非静态方法可以直接调用静态方法,静态方法也可以直接调用静态方法,但不能直接调用非静态方法,需要先new一个对象,原因是static修饰的的方法和类一起加载;
  3.  代码块:匿名代码块:创建对象时自动创建在构造器之前;静态代码块:类一旦加载直接执行

            4.静态导入包:使方法不必加 \"类.\" ,可以被直接调用

 

 final:被final修饰后不会有子类

 

 

  •  抽象类:提高开发效率,可扩展性提高;abstract可以用来修饰类或方法;抽象类的所有方法由子类必须帮助其实现,除非子类也是抽象类

  1. 抽象类无法new,只能靠子类实现,只是一个约束
  2. 抽象方法存在的类必须是抽象类
  3. 思考题:是否存在构造器;抽象类存在的意义是什么;

exstends单继承,Java中类无多继承

  •  接口:接口的本质是契约,可以多继承;定义关键字:interface;接口中的方法默认为public abstract,常量默认为public static final;接口都需要实现类
  • 类实现接口:类名 implements 接口(可以是多个接口,侧面实现多继承)
  • 作用:
  1. 约束
  2. 定义一些方法,不同实现方式·
  3. 接口不能实例化,因为接口中没有构造方法
  4. implements可以实现多个接口
  5. 必须要重写接口中的方法
  • 内部类
  1. 获得外部类的的私有属性或私有方法
  2. 静态内部类无法访问非静态属性
  3. 一个文件只能有一个public类,但是可以有多个class类
  4. 局部内部类:定义在方法中的类
  5. 匿名对象类:没有名字初始化类,不用将实例保存到变量中-new Apple().eat();

 


来源:https://www.cnblogs.com/yangyangyuyangzhuo/p/15981902.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Java instanceof&类型转换 &static &抽象类 &内部类

相关推荐

  • 暂无文章