美文网首页
多态、final、static

多态、final、static

作者: 小胖5920 | 来源:发表于2019-03-01 14:56 被阅读0次

注意:分享别人好文章
多态存在的三个条件

1、有继承关系

2、子类重写父类方法

3、父类引用指向子类对象

补充一下第二点,既然多态存在必须要有“子类重写父类方法”这一条件,那么以下三种类型的方法是没有办法表现出多态特性的(因为不能被重写):

1、static方法,因为被static修饰的方法是属于类的,而不是属于实例的

2、final方法,因为被final修饰的方法无法被子类重写

3、private方法和protected方法,前者是因为被private修饰的方法对子类不可见,后者是因为尽管被protected修饰的方法可以被子类见到,也可以被子类重写,但是它是无法被外部所引用的,一个不能被外部引用的方法,怎么能谈多态呢

final关键字的作用

相信对于final的用法,大多数人都可以随口说出三句话:

1、被final修饰的类不可以被继承

2、被final修饰的方法不可以被重写

3、被final修饰的变量不可以被改变

static 的学习
用法:
1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来

2、被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来
常见问题:
1、静态方法能不能引用非静态资源?不能,new的时候才会产生的东西,对于初始化后就存在的静态资源来说,根本不认识它。

2、静态方法里面能不能引用静态资源?可以,因为都是类初始化的时候加载的,大家相互都认识。

3、非静态方法里面能不能引用静态资源?可以,非静态方法就是实例方法,那是new之后才产生的,那么属于类的内容它都认识。
加载顺序:静态代码块是严格按照父类静态代码块->子类静态代码块的顺序加载的,且只加载一次。

相关文章

  • Java学习Day05

    今日学习内容总结 final常量 多态 常量final 定义格式:public static final 数据类型...

  • 多态、final、static

    注意:分享别人好文章多态存在的三个条件 1、有继承关系 2、子类重写父类方法 3、父类引用指向子类对象 补充一下第...

  • Android面试java相关问题总结

    基础 三个特性:封装、继承、多态详细说一下 static和volatile区别 final、finally和fin...

  • final,static,static final

    final,static, staic finalstatic final为编译常量,即在编译时期就为他分配空间和...

  • Java重温-多态06

    1.多态的作用则是消除类型之间的耦合关系。 2.Java中除了static方法和final方法(private方法...

  • 《Thanking in Java》8. 多态

    多态的作用是消除类型之间的耦合关系。 8.2 转机 除了static方法和final方法(private方法属于f...

  • Java编程思想重点笔记

    1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方...

  • static、final、static和final

    static 静态的修饰属性,静态属性和方法是属于该类的所有对象的,可以用类名.静态属性/方法名来访问。用stat...

  • final,static,抽象类,接口,多态

    final关键字 final可以修饰变量 变量必须被初始化,初始化以后不能被修改(即变成了常量) final可以修...

  • Java知识点总结

    static final 和 static 的区别 static+final 静态常量,编译期常量,编译时就确定值...

网友评论

      本文标题:多态、final、static

      本文链接:https://www.haomeiwen.com/subject/qhpduqtx.html