JAVA基础小结
匿名对象
没有对象名的对象 就叫做匿名对象
格式: new Person()
特点
1.如果不给变量赋值 只能使用一次
2.匿名对象可以作为方法的参数和返回值(return ...)使用.
例如:
ArrayList<Person> list = new ArrayList<Person>();
Person p = new Person("杨幂",20);
list.add(p);
list.add(new Person("唐嫣",18));
继承
- 概念1:
要定义类时 发现已有类与要定义的类相似,并且要定义的类属于已有类的一种时 ,可以将要定义的类定义为已有类的子类
Employee
属性
工号
姓名
行为
工作
当已经存在员工类,要定义讲师时,发现讲师类与员工类相似 并且讲师类属于员工类的一种 可以将 讲师类定义为员工类的子类
- 概念2:
多个类有共性内容,可以将共性内容向上抽取,抽取到一个新的类中,新的类与多个类形成的关系叫做继承.
格式
public class 子类 extend 父类{
}
方法重写
也叫(方法复写 )或者(方法覆盖),子类继承父类,可以直接使用父类所有非私有的成员,如果觉得父类的功能不够强大,可以按照自身的逻辑重写定义这个功能
方法重写的注意事项
1.可以使用**@Override来验证是否是方法重写
2.子类方法的访问权限必须大于等于(>=)父类方法的访问权限
3.方法声明一般都是一致的
返回值类型如果是基本类型(4类8种) 必须一致**
返回值类型如果是引用类型 子类方法的返回值类型 可以是 父类方法的返回值类型 的子类
this:当前对象的引用
super:当前对象中父类空间的引用
this(参数) 访问本类其他的构造方法
super(参数) 访问父类的构造方法(非私有)
this.成员变量 本类的成员变量
super.成员变量 父类的成员变量(非私有)
this.成员方法(参数) 本类的成员方法
super.成员方法(参数) 父类的成员方法
this和super在访问构造方法时 必须在构造方法的第一行使用 有this()就没有super()
继承注意事项
1.类与类只能单继承 不能多继承
2.类与类可以多层继承
3.所有的类都直接或者间接继承自Object类
抽象类
产生:多个类有共性内容就可以向上抽取,抽取到父类中,那么父类只知道子类应该具备这个功能,但是不能明确功能的具体,
此时也可以向上抽取 ,只抽取方法的声明 不抽取方法的主体
那么这个方法就是抽象方法
有抽象方法的类就是抽象类
定义格式
public abstract class 类{
抽象方法
}
使用格式
1. 抽象类不能创建对象
2. 定义子类继承抽象类
3. 重写抽象方法
4. 创建子类对象 调用方法
注意事项
1. 抽象类可以有具体的方法 供子类使用
2. 抽象类可以没有抽象方法 不让外界创建对象
3. 抽象类中如果有多个抽象方法 ,子类必须全部重写 才可以编译通过,否则子类也必须是抽象类
4. 抽象类有构造方法 给子类使用