面向对象编程部分重点
面向对象编程主要由包,继承,组合,多态,抽象类,接口组成
包:
就相当于一个文件夹,是组织类的一种方式,使用包是为了保证类的唯一性;包的命名也是有规范的一般是小写字母,采用公司的倒序形式命令。
导入包中的类:
其实java中已经导入了很多现成的包供我们使用,例如:java.util.Dtae;
通过import的关键字导入java中已有的包即可;
例如:import java.util.Date;
java.lang.* 下的包都是自动导入,其余的包都得手动导入(例如:java.util.*)
访问权限:
分为:public,private,protected,default
包访问权限也就是(default):只能访问在一个包中的成员变量或者方法,在不同包中是无法访问的。
继承:
作用: 就是为了代码的复用
关系描述就是: IS-A的关系
子类(派生类)继承父类(基类或者超类)
那么子类继承了什么呢?
子类继承了除父类的构造方法外的所有东西(包括了父类的成员变量和方法);如果要构造子类的构造方法必须要先构造父类用super() 并且放在子类构造方法的第一行
super()的作用是:
调用父类的构造方法,属性和方法
基类/父类只能访问自己的成员和方法,但是可以通过子类访问父类的成员和方法
单继承:
在java中中的继承是单继承的,也就是不管什么类都只能继承一个父类,不能继承多个父类
多层继承:
在java中虽然不允许发生多继承,但是可以发生多重继承,但是这种继承要谨慎使用,最多不能超过三层。例如:橘猫继承中华田园猫;中华田园猫继承猫;猫又继承动物;这种继承我们叫做 多层继承
密封类:
也就是当类被 final 修饰的类叫做密封类,这种类是不能被继承的。例如:final class String(){}就是个密封类
组合: 表达类之间的一种关系:(has a或者 a part)
重点:
防止内存泄漏:public void Clear(){}
在java中内存是不用自己回收的,因为在java中有垃圾回收器,当你不引用一个对象时,java自动回收
如何检测java中的内存泄漏问题:
1·cmd:打开命令行操作
2·输入jps:查看java的进程号(当前的)
3·jmap -histo:live(+进程号+)> E:log.txt(也就是将java当前的进程中的日志内容,将其重定向在一个txt文件中,查看即可)