类和对象
目录
前言
面向对象:对目标的抽象,不关心其内部的具体实现,只关注其实现的结果。
面向过程:对过程有着严格的要求,上一步没有完成的情况下坚决不能执行下一步。
一、类和对象是什么?
类和对象就是对具体事物的抽象。
类:自定义类型(高配结构体),将现实事物的属性和行为集合到一块了。
对象:自定义类型创建出来的变量
二、类
1.格式
public class Person {
//属性/成员变量/字段
String name;
int age;
String gender;
//方法/成员函数
public void eat(String food){
System.out.println(name + "正在吃" + food);
}
- 类里面的变量是成员变量
- 方法里面的变量是局部变量
- public也可以放在成员变量之前,加与不加有区别
- 一个 .java 文件允许有多个类
- 其中得有一个(不能是多个)public 修饰的类
- 该类名必须严格和文件名相同
- 实例化:根据类,创建出一些具体的对象;对象(object)等价于实例(instance)
//对象实例化
Person person1 = new Person();
Person person2 = new Person();
Person person3 = new Person();
- 类名采用大驼峰定义
- 成员属性的定义,当前写法统一为public,也可以是其他的访问修饰限定符
- 和之前写的方法不同, 此处写的方法不带 static 关键字.
- 每个属性有四种修饰:public,private,protected,default。
- 可以通过 “.” 操作符访问已创建好的对象/实例中的成员变量(属性),成员函数(方法)。
- 同一个包中不能有两个相同名字的类;相同名字的类可以存在不同的包里面。
- public前面的类名不用随便修改,若修改,则使用 shift+F6 一键修改。
2.字段/属性/成员变量的访问方式
- 使用 . 访问对象的字段.
package lesson7;
public class Cat {
public String name;
public String gender;
public int age;
public String breed;
public String color;
public void eat(String food){
System.out.println(name + "正在吃" + food);
}
public void sleep(){
System.out.println(name + "正在睡觉");
}
}
Cat cat = new Cat();
cat.name = "咪咪";
System.out.println(cat.name);
cat.eat("鱼");
运行结果:
- “访问” 既包含读, 也包含写.
三、对象初始化
对创建的变量要进行初始化
初始化对象的方式
1. 默认值
对于一个对象的字段如果没有显式设置初始值, 那么会被设置一个默认的初值.
package lesson7;
public class DefaultValue {
public int a;
public long b;
public double c;
public boolean d;
public char e;
public String f;
public int[] g;
}