一.访问权限修饰符
1).public:被public修饰的成分可以被任何第三方程序访问。public访问权限的方法和变量也可以在任何地方被访问。
2).protected:具有protected权限的方法、成员变量可以被类自身以及 其子类访问到。子类可以在同一包内,也可以在不同包内,同时,同一个包内的其他类也可以访问protected成员。
protected成员可以被包外子类访问,但却不能使包内子类的protected成员在包外被访问到。
3).friendly:如果成员变量没有访问修饰符,则默认为friendly访问权限,或者成为package访问权限,具有包访问权限的成员可以被自身和包内的其他成类所访问。
4).private:只能被自身访问。
二.Class的访问权限
类可以被定义成public权限,被定义成public权限的类在任何地方都可以被访问到,,无论在包内还是在不同的包内,在一个java源文件中不能有超过一个public访问权限的类,并且java源文件名必须赫尔public类名相同。
类除了能被声明为public权限外,也可以被声明为包访问权限,声明为包访问权限的类只能被包内的类访问,类不能定义为private和protected。
三.面向对象的三大特征:继承,封装,多态。
四.继承
1).语法:class A extends B
2).子类对象之所以能调用父类成员,是因为java编译器自动为子类添加了一个引用名为super的父类成员对象。
3).子类的构造方法中必须调用父类的构造方法中的一个,以显示的初始化父类对象。
五.final
1).final变量不管是类的成员还是一个临时变量,都不能被重新赋值。
2).任何继承类都无法覆写父类中的final方法,但是重载并不会受到限制。
3).讲一个类设置成final类型,这个类不能作为任何其他类的父类,这个类的所有方法都被自动的定义成final型
六.抽象类
这个类本身的方法没有具体的实现,只是为子类提供一个规范,并要求所有的子类都必须实现基类中的方法。
将一个类设置成抽象类后,就可以为其添加没有具体实现的方法,称为抽象方法,这种方法定义时也需要加上abstract关键字,并且没有花括号以及花括号内的代码。
当一个类内部有抽象方法时,编译器强制将该类定义为抽象类。
一个类继承了一个抽象类就必须覆写抽象类中所有的抽象方法,即使只有一个抽象方法没有被覆写,这个类也必须被定义为抽象类。
java语言设计者禁止创建抽象类的实例。
抽象类不仅可以定义抽象方法,还可以定义普通的具有具体实现的代码用以表示该抽象类所定义的类的共同行为
七.接口
可以将接口理解为一种“抽象类”,只是这种抽象类是一种比抽象类更为纯粹的抽象类,定义一个接口必须在接口前添加interface关键字。
接口中不能定义有具体功能的方法,形式上类似抽象方法,但不需要添加abstract关键字,
实现接口要用到implements关键字
如果两个接口或类存在同名的方法,但是返回类型不同,依然会冲突。
接口与接口的继承也是用关键字extends,而不是用implements。一个接口可以继承多个接口。
八.内部类,异常,容器,以后再说。