类图
全大写常量
面向对象的三大特征: 封装 继承 多态
普通的封装
如果要实现一些功能或者存储一些数据,
可以将这些功能和数据全部集中在一个容器中(对象)
在需要的时候创建出对象就可以使用这些功能和数据
(对一类事物的描述或者抽象)
类的封装
在普通封装的基础上
隐藏细节
-将所有的成员属性私有化,private (方法一般公共)
public 公共的权限修饰 当前工程中到处都能访问
protected 受保护权限修饰 同一个包能访问,如果不同包只有子类能访问
什么都不写 默认权限 只能在同一个包访问
private 私有的权限修饰 只有本类能访问
-对外提供公共的访问方式进行操作(间接)
-获取属性
getXxx()
-修改属性
setXxx()
this关键字
含义:代表当前类对象的引用
作用:
调用本类的属性/方法
当形式参数的名字和成员属性名字一样时,
为了区分等号左右两边的数据
使用this来代表本类的属性
java类的封装的作用和使用场景
封装为了隐藏实现细节,禁止外界直接访问
通过间接访问的方式,在方法中进行控制,提高代码的安全性
封装是后期各种框架的规范。
场景:只要带成员属性的类就要封装
构造方法
如果什么构造方法都不写,这个类会默认隐藏一个空参构造
如果只有写有参构造,不写空参构造,那么空参构造就会被覆盖
无论是否使用空参构造,都顺手写个 alt+/
如果有多个构造器,那么创建对象时,肯定只能选择其中一个
匿名对象
实/有名的对象:Student s=new Student();反复使用 复用
s.name
s.getName()
s.age
s.getAge()
匿名的对象:new Student();一次性只能用一次
肯定不会用于存数据
一般用于调用方法,而且这个方法只要用一次
线程:new 线程().start
static关键字
含义:静态修饰符(共享)
修饰成员属性(静态属性)
-归属于类,使用类名调用
-被本类所有的对象所共享(同一个对象)
修饰成员方法(静态方法[main方法之前])
-归属于类,使用类名调用
-被本类所有的对象所共享
-静态方法无法直接访问非静态数据(除非创建对象)
作业设计
main只有一行
-技能类
-英雄类
-模拟数据库类(英雄的数组)
-管理类(运行流程) run方法(所有的循环分支)
-测试类 new管理().run()