2、《JAVA核心卷I》笔记-面向对象

第4章 对象与类

1、预定义类

类之间的关系:聚合,依赖,继承

date等。

对象是类的实例

对象的克隆

Date d=new Date();

Date dd=d.clone();

dd=d;//对象在堆上,指向同一个对象

2、自定义类

class Employee {
    //初始化以后不可改变 finale
    private final String mName;
    //所有类共享statci变量
    private statci
    int mNextID = 2;
    //静态常量
    private static final int PI = 3;

    //静态方法 Employeer.get()
    public staic get() {
        
    }

    private int mAge;

    public Employee(String name, int age) {
        this.mName = name;
        mAge = age;
    }

    public String getName() {
        return mName;
    }
}

方法参数:

C++有按值传递和按照引用传递,java没有

方法不能改变基本类型数据;

方法可以改变一个对象的参数状态。

方法不能让对象参数引用另外一个对象,以下无法交换,a是原来的一份引用的拷贝。

void swap(Employee a,Employeeb ){

Employee temp=a;

a=b;

b=temp;

}

重载:

多个构造器调用另外一个构造器

this(XXX)

初始化块:创建对象的时候调用

对象析构:finalize,不建议使用

包:类似于命名空间

package com.test;

导入静态方法

import static java.s

3、文档注释

IDEAL生成注释:打/**回车会自动生成

2、《JAVA核心卷I》笔记-面向对象

第5章 继承

1、超类和子类

class Manager extends Employee {
    public Manager(String name, int age) {
       super(name,age);
    }
}

super可以调用父类方法或者构造器。

多态,动态判断对象的类型。

final定义类和方法,阻止继承和覆写。

类型转换:

继承层次内转换,超类转子类使用instanceof检查。

抽象类:类似于虚函数

abstract class Person {
    public abstract int getTemp();
}

修饰符:

priate:本类可见

public:所有类可见

protect:本包和子类可见

默认:本包可见

根类:Object

2、泛型数组

ArrayList<Employee> list=new ArrayList<>(100);
list.get(0);

包装器与装箱:每个基本类型对应一个类。

可变参数:

void tmp(double...tmp);

3、反射