java 类和对象
1. 修饰符只有3个(private,public ,protected),再加上无修饰符,也属于一种限定范围,所以限定范围有4种。
2. 当创建一个类时,创建了一种新的数据类型。
类是对象的模板(template);
对象是类的实例(instance);
3. 类,抽象的,概念的,代表一类事物,对象是具体的,实际的,代表一个具体事物;
4. 类的定义:
[类修饰符]class 类名 [extends 父类名称] [implements 接口名称列表]
{
成员变量及初始化;
方法定义及方法体;
}
A a =new A();
A b = a;
则a和b同指一个。
5. 类本身有两种控制访问:public 和 默认。
6. 类成员变量有3种访问控制:
public :可由外部对象访问
private:类内使用,外部必须经过类的公有方法间接进行访问。
protected:在子类和同一包下类中访问。
7. 构造方法
- 构造方法可为public,protected,private,也可以不写,区别就是权限不一样。
- 若已定义了构造方法,Java就不会再生成默认的构造方法了。
- java不支持类之间的多重继承(java支持接口之间的多重继承),即不允许一个子类继承多个父类。
- java支持多层继承,可建立包含任意多层继承的类层次。
- “extends” 子类不可继承访问权限为private 的成员变量和方法。
- 方法重写 overriding,也叫方法覆盖。指在子类中重新定义父类中已有的方法。
8.方法重写的条件:
(子类的方法重写了超类中的方法)
1.方法名,参数列表和返回值完全相同
2.访问控制范围不能缩小
3.抛出的异常不能扩大
9. 继承中的构造方法调用
在类层次结构中,构造方法以派生的次序调用,从超类到子类。且super必须是子类构造方法的第一句,无论是否用super,次序都不变,若super没有被用到,那么超类的默认或无参数构造方法仍将执行。
子类无条件的继承父类无参数的构造方法。