1)私有属性必须通过一个成员方法去控制和访问私有属性
2)访问控制修饰符
访问级别 | 访问控制修饰符 | 同类 | 同包 | 子类 | 不同包 |
公开 | public | √ | √ | √ | √ |
受保护 | protected | √ | √ | √ | × |
默认 | 无 | √ | √ | × | × |
私有 | private | √ | × | × | × |
3)继承
当多个类具有相同的属性(变量)和方法时,可以从这些类中抽象出父类,所有的子类不需要重新定义这些属性和方法,只需extends语句来声明继承。这样父类就会自动拥有某些父类定义的属性和方法。
注意:子类最多只能继承一个父类(指直接继承);JAVA中所有类都是object父类的子类。
4)包的作用
包的三大作用:区分名字相同的类;当类有很多时,可以很好的管理;控制访问范围。
包的打包命令:package com.lin;(将生成的class码放到包内)
引入包:import 包名
5)方法的重载
概念:方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式取决于调用者给出的参数。
例如:public int getmax(int a,int b)和public float getmax(float a,float b)
注意事项
- 方法名相同;
- 方法的参数类型,个数,顺序至少有一项不同
- 方法的返回类型可以不同
- 方法的修饰符可以不同
例如:public float getmax(float a,double b)和public double getmax(float a,double b) 不能构成重载(因为只用返回类型不同)
6)方法覆盖
概念:方法覆盖就是子类有一个方法和父类的某个方法的名称,返回类型,参数一样,那么我们就说子类的这个方法覆盖了父类那个方法。
注意:
- 子类的方法的返回类型,参数,方法名称,要和父类完全一样。
- 子类方法不能缩小父类方法的。
例如:父类 public 子类 protected(编译会出错)
父类protected 子类;public(编译成功,因为扩大了父类方法)
7)多态
概念:指一个引用(类型)在不同情况下的多种状态,多态是指通过指向父类的指针,来调用在不同子类中实现的方法
8)抽象类
注意事项:
- 抽象类不能被实例化。(不能new一个新对象)
- 抽象类不一定要包含abstract方法。
- 一旦包含了abstract方法就必须声明为abstract类。
- 抽象方法不能有主体。