Java实训笔记(2022/12/8)

面向对象vs面向过程

大象装进冰箱需要三步 开、装、关

面向对象 找一个大象 让他自己打开 装 关 或 找一个冰箱 能自己开关

面向过程 思路非常清晰 执行主体是自己

类与对象 对象一定要依赖于类

人与张三的区别 抽象与具体的区别

普通的类

属性:年龄 姓名… 静态
方法:装 打开 关闭 动态
构造器 定义如何得到一个实例对象

封装

私有化成员 对外提供公开的访问、设置方法

继承

继承 一个类 想用另一个类的属性和方法,使用extend super final
super调用父类非私有的方法
final 最后的 修饰类:这个类不能被继承 修饰方法:方法不能重写 变量:不可变

子类中包含父类中所以非私有的属性和方法

子类中如果有何父类一样的方法声明,这叫方法重写 父类有这个方法,但是子类觉得不够,要重新写

方法重写:声明一模一样(绝大多数) 子类的访问权限不能比父类低 子类的异常不能比父类的更抽象 Exception -->RuntimeException -->NullPointerException

多态抽象类

多态 多种形态 在代码运行过程中,一个对象有多种形态

父类的引用 指向子类对象

抽象 abstract

不懂 就是抽象

没有方法体的方法:抽象方法,必须有abstract修饰

有抽象方法的类:抽象类,必须有abstract修饰

抽象类不能直接被new,天生就是被继承的

有子类继承了抽象类,必须重写父类的抽象方法或者子类也是抽象类

接口 interface

接口的引用执行子类对象

一个类全抽象 这个类改为接口

接口不是类 interface

接口是规范

方法默认修饰 public abstract

变量默认修饰 public static final

常量
抽象方法
普通方法

Object 所有类的部分

hashCode 理解为对象在堆里的地址

toString 返回对象的字符串形形式

直接打印对象就是调用toString

getClass 获取正在运行的类

equals vs ==

== 判断两个值是否相等 如果是基本数据类型,就是比较值

如果是引用数据类型,比较的是地址值(hashcode不是地址值,但是可以这样理解)

如果想 两个学生名字一样则视为同一个对象 让equals返回true 需要重写equals

alt+insert 产生代码快捷键

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