类的定义
- 确定类名
- 确定属性和方法
- 一般来讲小写
- 张三家养老两只宠物,一直猫,一条狗,猫叫小花,狗叫小黑,猫可以抓老鼠,狗可以看门,张三负责喂养。猫吃鱼,狗吃骨头
- 人
- 宠物(继承)
- 猫
- 狗
- 鱼
- 骨头
- 确定属性
- 每一个属性怎么写
- 命名
- 类型
- 定义语法:【修饰符public】类型 属性名;
- 确定行为
- 就是方法,与面向过程中的函数类型,面向过程自己定义步骤,每一步就是一个函数,通过函数之间的调用,实现需求
- 方法名:规范
- 牢记三要素
- 类的方法,行为跟静态方法不同,不需要static修饰
- static:静态的,可以直接类名调用方法,不用创建对象
- 静态方法一般都是工具方法,一旦是类的方法,或者对象的行为,就与对象相关了,那就不用static,就普通方法
- 这个类不能活不允许有main方法 的,main是程序的入口,启动程序,我们的类只是一个数据(复杂的数据,包含了其他数据和行为)
- 单独定义程序的入口
- 类是模板,操作的是对象,创建对象,然后进行操作
public class Student {int id = 10;String name;char sex;public void study() {System.out.println("正在学习");}public void eat() {System.out.println("吃饭");}public void sleep() {System.out.println("睡觉");}
}
对象的创建
new关键字创建
- 我们通常用的创建对象的方式,只有一种,通过new关键字(后期可能会遇到不是的)
- 对象的创建:
- Student s1 = new Student();
- Student:数据类型,确定我要创建什么对象(什么类型的数据)
- s1:对象,创建好了的对象,实质就是一个变量,引用数据类型
- new:关键字,指令JVM中就是存在的,告诉JVM,需要创建对象,申请空间用的
- Student():构造函数,赋值给属性
public class Demo {public static void main(String[] args) {Student s1 = new Student();new Student();}
}
过程
- JVM读取到new指令,知道要创建对象了
- 看要创建对象的这个类有没有加载到JVM中,有,开始申请空间,没有,先加载类,找不到加载,报错
- 去已经加载好的内存中读取类的信息了,知道了你对象需要多大空间,有哪些属性,哪些行为(有没锁)
- 属性开始初始化,数据类型的默认值
- 赋值,通过构造函数,初始化对象
- 开始返回对象,如果有赋值,开始给变量赋值
使用对象(里面的属性和行为)
- 通过变量名操作对象
- 访问属性和行为
- 成员方位符“.”,看起来是一个小数点,实际上就是一个小数点,这只是键盘上,含义,用来访问类的成员
- 成员:
- 成员变量:类的属性是数据,变量,就是成员变量
- 成员方法:类里面的方法我们称为成员方法
public class Demo {public static void main(String[] args) {Student s1 = new Student();new Student();System.out.println(s1.id);s1.sleep();}
}
变量的作用域
变量的类型
作用域
- 局部变量,作用于从声明开始,到它所在的代码块结束。
- 成员变量,作用于整个类,整个类都可以使用
- 静态变量,作用于整个类,跟类有关系,类变量