1、 对象:
1、对象的能执行那些方法 主要是看左边的类型,与右边的关系不大;
2、子类重写父类的方法,执行的是子类的方法,也是说执行的是子类重写后的关系是不大的。
2、多态的注意事项:
1、多态是方法的多态,属性是没有多态的,
2、父类与子类之间的关系,
1、 对象能执行那些方法了主要看对象的左边的类型,和右边的关系不大;
2、子类重写了父类的方法,执行的就是子类的方法
1、多态是方法的多态,属性没有多态;
2、父类和子类有联系;有联系,类型转换异常(报错:)
ClassCastExcetion!
4、有些方法是不能重写的:
1、static方法,是属于类,它不属于实例
2、final 常量;
3、private 方法
类型转换
判断一个东西是什么类型;
而这个关键字就是用来判断两个类之间是否存在联系,如果是父子类就是返回true,如果不是的话,就返回false。
就是经过staic修饰过的全局变量或者是方法,在调用的时候,都是可以直接调用的。
而没有经过static修饰过的方法,或者全部变量,在调用的时候,就要先创建一个对象,然后这个对象来进行调用即可;
静态倒入包:
abstract
接口可以多继承;
不能new这个抽象类,只能靠子类去实现他。
抽象类里面可以有正常的方法;
但是方法里面有抽象方法,那么类一定就要抽象
抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已
java中抽象类更利于代码的维护和重用。 ? 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。具体分析如下: ? 1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具有相同属性和方法的组件进行抽象,这样更有利于代码和程序的维护。 比如本科和研究生可以抽象成学生,他们有相同的属性和方法。这样当你对其中某个类进行修改时会受到父类的限制,这样就会提醒开发人员有些东西不能进行随意修改,这样可以对比较重要的东西进行统一的限制,也算是一种保护,对维护会有很大的帮助。 ? 2.当又有一个具有相似的组件产生时,只需要实现该抽象类就可以获得该抽象类的那些属性和方法。 比如学校又新产生了专科生这类学生,那么专科生直接继承学生,然后对自己特有的属性和方法进行补充即可。这样对于代码的重用也是很好的体现。 ? 所以,Java中抽象类对于代码的维护和重用有很好的帮助,也是Java面向对象的一个重要体现。
接中的所有东西都是抽象的;
接口都需要有实现类;
接口中只有方法的定义,并没有方法的具体实现
并且可以的是 多继承;
接口的 作用:
1、约束;
2、定义一些方法,让不同的人实现;
3、public adstract
4、public staticfinal
5、接口不能被实例化,因为接口中没有构造方法
6、implements 可以实现多个接口
# 内部类:
说白了 就是在一个类中在定义一个类:
如何一个A类中定义了一个B类
那么就B类相对与A类来说就是一个内部类;
而A类相对B类来说就是外部类了;
1、成员内部类
2、静态内部类
是指被static修饰过的内部类
3、局部内部类
4、匿名内部类
内部类最强大的一点就是::
能够操作外部类的私有属性:
一个Java程序里面只有一个public修饰的类(值类与类之间没有包括的意思),但是可以有多个class类
Java学习的第七天: 对象,instanceof,static,抽象类,接口,抽象的思维,注意,异常,快捷键;
原文:https://www.cnblogs.com/954321xx/p/14916668.html