面向对象
代码块的概述:
* 在Java中。使用{ }括起来的代码被称为代码块。
代码块分类:
*根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块。
常见的代码块应用:
局部代码块:
在方法中出现,限定变量声明周期,及早释放,提高内存利用率。
构造代码块:
在类中方法外出现;多个构造方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行。
静态代码块:
在类中方法外出现;加了Static修饰,用来给类进行初始化,一半用来加载驱动,且只执行一次。
静态代码块优先于主方法执行。
继承(extends):
让类与类之间产生关系,子父类关系。
好处:
* 提高代码的复用性。
* 提高代码的维护性。
* 让类与类之间产生关系,是多态的前提。
弊端:
* 类的耦合性增强了。
* 开发的原则:高内聚,低耦合。
内聚(自己能完成)
耦合(类与类的关系)
特点:
* Java 只支持单继承,不支持多继承。(有些语言支持多继承 )
* Java支持多层继承(继承体系)。
继承注意事项:
* 子类只能继承父类所有非私有的成员(成员方法和成员变量)。
* 子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法。
* 不要为部分功能而去继承。
* 父类中死有方法不能被重写。(因为父类私有方法子类根本无法继承)
* 子类重写父类方法的时候,声明最好一摸一样。
方法重写(override):子类中出现了和父类中方法声明一摸一样的方法,与返回值有关,返回值是一致的(或是子父类)。
方法重载(overload :本类中出现的方法名一样,参数列表不同的方法,与返回值无关。
final概述:
*final是最终的
特点:
* 修饰类,类不能被继承。
* 修饰变量,变量就变成了常量,只能被赋值一次。(一般会与public s'tatic公用)
* 修饰方法,方法不能被重写。