对象:属性+方法
使用面向对象的原因:
1)符合人类看待事物的一般规律
对象的方法的实现细节是屏蔽的
分析对象主要从分析方法开始
类是对象的抽象
2)采用面向对象方法可以使系统各部分各司其职
对象的条件:高内聚,低耦合
面向过程:由过程,步骤,函数组成,以过程为核心
面向对象:一对象为中心,先开发类,得到对象,通过对象之间的相互通信实现功能
在面向对象编程中,除了简单数据类型,就是对象类型
对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛
关于多态的补充:
编译时类型一定要为运行时类型的父类(或者同类型)
Animal a = new Dog()---对象a的编译时类型为Animal,运行时的类型为dog
一般静态代码块被用来初始化静态成员
在java中利用public static final的组合方式对常量进行标识(固定格式)
如果要一个方法前有修饰词private和static,则系统会自动在前面加上final。即private和static方法默认为final方法
为了实现多态,那么父类必须有定义,而父类并不实现,留给子类去实现,此时可将父类定义成abstract类---》到这儿,我感觉多态就和接口有点关系。。。
abstract和static不同共存,因为abstract为了生效必须覆盖,而static不可被覆盖
Object是java体系中的所有类的父类(直接或间接)
有三个通用方法:
1)finalized()
2)toString()
3)equal()
String字符串类有一点特殊,jvm中有一个字符串池。。。如果没有找到该字符串,才会将此存到字符串池中
String A= new String("freosa");
String B = new String("freosa");
System.out.print(A==B);
(或者System.out.print(A.equals(B));
得到false
因为a,b在字符串池中地址不同了
==在任何时候都是比较地址
|
|