类 与 对象

三大特征

1.封装

通过 private , default,protected,public关键字实现属性或方法封装,仅对外提供公共访问方式。+ “高内聚,低耦合”。
封装的好处
1.实现数据项和方法的隐藏
2.实现隐藏隔离,允许外部对类做有限的访问,开发者可以自由的改变类的内部实现
3.提高了代码的重用性

//封装
public class Student {
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
class Test {
    public static void main(String[] args) {
        Student student =new Student();
        student.setUsername("张三");
        String username=student.getUsername();
        System.out.println(username);
    }
}

类的封装
类 与 对象_第1张图片
类 与 对象_第2张图片

2.继承

通过extends
继承的好处
1.代码重用了
2.通过继承,实现对现实世界更加准确的建模

3.多态

一个对象变量可以指向多种实际类型对象的现象被称为"多态"
三个必要条件:继承,方法的重写,父类引用指向子类对象
多态的好处
1.提高了代码的维护性(继承保证),提高了代码的扩展性
2.Java中多态的实现方法:接口实现,继承父类进行方法重写,同一个类中进行方法重载,父类引用指向子类对象

4.Object类

1.getClass方法
获取运行时类型,返回值为Class对象。

2.hashCode方法
返回该对象的哈希码值,是为了提高哈希表的性能(Hash Table)。

3.equals方法
判断两个对象是否相等,在Object源码中equals就是使用= =去判断,所以在Object中equals是等价于= =的,但是在String及某些类对equals进行了重写,实现不同的比较。

4.clone方法
此方法只实现了一个浅层拷贝,对于基本类型宇段成功拷贝,但是如果是嵌套对象,只做了賦值,也就是只把地址拷贝了,所以没有成功拷贝,需要自己重写clone方法进行深度拷贝。

5.toString
返回一个String字符串,用于描述当前对象的信息,可以重写返回对自己有用的信息,默认返回的是当前对象的类名+hashCode的16进制数字。

6.wait方法
多线程时用到的方法,作用是让当前线程进入等待状态,同时也会让当前线程释放它所持有的锁。直到其他线程调用此对象的notify()方法或notifyAll() 方法,当前线程被唤醒。

7.notify方法
多线程时用到的方法,唤醒该对象等待的某个线程。

8.notifyAll方法
多线程时用到的方法,唤醒该对象等待的所有线程。

9.finalize
对象在被GC释放之前一定会调用f inalize方法,对象被释放前最后的挣扎,因为无法确定该方法什么时候被调用,很少使用。

你可能感兴趣的:(Java,java,jvm,开发语言)