本周学主要学习了第三章--java面向对象。
第一节:
首先要搞清楚面向对象中类与对象的关系。可以在一个类中创建若干个方法。方法就是一段可以重复调用的代码段。 定义时要指明访问权限和返回值类型。创建类时要使用关键字class,但是不必声明返回值类型以及访问权限。可以在主函数中通过类来定义一个变量,但是方法只能被调用。方法也可以独立存在,不一定要在类中。
第二节:
封装性:保护某些属性和方法不被外部看见,通过关键字private 实现。
匿名对象:当一个对象只会被调用一次时,可以不取名。
第三节:
引用传递:可以通过定义类的变量调用类中的方法。
this关键字:表示类中的属性和调用方法,调用本类中的构造方法,表示当前对象。
static 关键字:控制变量的作用域,可以定义一个全局变量。也可以用来声明方法中。但是使用static方法时,只能访问static属性和方法,非static 的属性和方法不能被调用。
第四节:
继承:定义的类可以继承自其他的类,并且此时子类已经具有了父类的方法和性质。同时也可以在此基础上进行扩充,添加新的方法和属性。只允许单继承,子类不能直接访问父类的私有成员。并且访问权限要保持一致。
重写:在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法。重写时,方法名称相同,返回值类型,参数也相同。限制:被子类重写的方法不能拥有比父类更严格的访问权限。(private<default<public)
重写与重载的区别:super关键字,强行调用父类方法的执行。super也可以表示哪些方法是从父类中继承而来。重载对权限没有要求,发生在一个类中。重写对权限有要求,发生在继承中。
第五节:
final关键字:完结器,使用final 生命的泪不能被继承 。
抽象类:包含一个抽象方法的类。抽象方法, 声明而未被实现的方法。抽象方法必须使用abstract关键字声明。抽象类被子类继承时,如果子类不是抽象类,则重写父类中所有的方法。
接口的实现:可以理解为一种特殊的类,全部由全局变量和公共的抽向方法组成。使用interface关键字进行声明。接口的实现必须通过子类。
第六节:
多态性:体现在方法的重写和重载。向上转型:程序自动完成。向下转型:强制类型转换。
instanceof关键字:判断一个对象到底是不是一个类的实例。返回值是一个布尔类型。
第七节:
泛型:解决数据类型的安全性问题。主要原理:在类声明的时候通过一个标识符表示类中的某个属性的类型或者是某个方法的返回值以及参数类型。定义时在类名称后面加一个<泛型>,通常用大写字母表示。创建对象时,类名称<具体数据类型>。也可以指定多个泛型,加上对应数量的的具体数值类型即可。
通配符:<?> 可以接受任何类型。
泛型接口: 声明泛型接口时。 interface 接口名称<泛型标识符> { }。也就是在接口定义后面加上一个<泛型标识符>。
泛型方法:泛型方法中可以定义泛型参数 。此时参数的类型就是传入数据类型。
泛型数组:在使用泛型方法的时候也可以传递或返回一个泛型数组。