类 与 对象

三大特征

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);
    }
}

类的封装
在这里插入图片描述
在这里插入图片描述

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方法,对象被释放前最后的挣扎,因为无法确定该方法什么时候被调用,很少使用。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不掉发的小刘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值