java类和对象
对象
对象:指的是客观存在的事物。
面向过程编程:
- 是一种以过程为中心的编程思想,实现每一个功能,都是自己实现的。
面向对象编程:
- 是一种以对象为中心的编程思想,通过指挥对象来实现具体的功能。
类
-
类是对现实生活中具有一类具有具体共同属性和行为的事物的抽象。
-
类是对对象的一种描述。
类和对象的关系
- 类是对象的描述
- 对象是类的实体
使用
首先先定义一个类,创建一个Java文件,不写主方法
public class 类名 {
成员变量...
成员方法...
}
在主方法里面创建对象
public class 类名 {
// 主方法
public static void main(String[] args) {
// 创建对象
// 这里的类名不是带有主方法入口的类名
类名 变量名 = new 类名();
}
}
成员方法
public class 类名 {
成员变量...
// 成员方法
public void 方法名(){
方法体...
}
}
成员变量和局部变量
成员变量
- 类中方法外面的变量
- 有默认值
局部变量
- 方法中的变量
- 没有默认值,必须定义后赋值才能使用
public class 类名 {
// 成员变量
数据类型 变量名;
int num;
// 成员方法
public void 方法名(){
方法体...
// 局部变量
数据类型 变量名;
int num1;
}
}
成员变量和局部变量名称相同也是没有问题的,本身就没有关联,所以不会互相影响。
封装
- 隐藏实现过程,仅对外暴露公共的访问方式
- 私有成员变量,提供了
get变量名()
和set变量名()
的方法 - 将代码抽取到方法中,这是对代码的一种封装
- 将属性抽取到类中,这是对数据的一种封装
- 提高了代码的安全性
- 提高了代码的复用性
private
关键字
- 是一个权限修饰符
- 可以修饰成员变量和成员方法
- 被
private
修饰的成员只能在本类中才可以访问,外界访问不了
针对外界需要访问的问题提供了相应的操作
- 提供
get变量名()
的方法,用于获取成员变量的值,方法用public
修饰 - 提供
set变量名(参数)
的方法,用于设置成员变量的值,方法用public
修饰
this
关键字
- 可以调用本类的成员,解决局部变量和成员变量重名的问题
- 代表所在类的对象引用,方法被哪个对象引用,
this
就指向哪个对象
public class Student {
private String name = "张三";
private int sex = 12;
public Student() {
}
public Student(int11111101 sex) {
this.sex = sex;
}
public Student(String name) {
this.name = name;
}
public Student(String name, int sex) {
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
}
构造方法
- 创建对象时所调用的方法
- 方法名要和类名一样
- 没有返回值类型,
void
也没有 - 没有具体的返回值,也就是不可以使用
return
返回数据 - 创建对象时就会自调用,创建一个对象就会调用一次
- 不可以手动的调用构造方法
作用:用于给对象的数据进行初始化。
public class Student {
private String name = "张三";
private int sex = 12;
public Student() {
}
public Student(int11111101 sex) {
this.sex = sex;
}
public Student(String name) {
this.name = name;
}
public Student(String name, int sex) {
this.name = name;
this.sex = sex;
}
}