Java类和对象
文章目录
前言
类提供了创建对象的模板,而对象是类的实例,通过类的定义实现具体的功能和行为。
一、什么是类和对象?
类是一个模板或蓝图,用于创建对象。它定义了对象的属性(变量)和行为(方法)。
对象是类的实例。通过类创建的具体实体,拥有类中定义的属性和方法。
二、定义类和对象的实例化
1.定义类
语法如下:
class 类名{
属性(或称为字段,成员变量)
方法
}
代码如下(示例):
class Student{
//字段 属性 成员变量 :定义的类当中,方法外面
public String name;
public int age;
public void show() {
System.out.println("name "+ name);
System.out.println("age "+ age);
}
public void eat() {
System.out.println(name + " 在吃饭");
}
}
2.对象的实例化
一个类可以创建多个对象,每个对象都独立拥有自己的属性值
语法如下:
public class Test{
public static void main(String[] args) {
类名 对象 = new 构造方法();//通过new关键字进行实例化
类名 对象2 = new 构造方法()//可以创建多个对象
对象.属性 = "小啊鳄";// 通过 .号进行引用赋值
对象.属性= 18;
对象.成员方法();//引用成员方法
}
}
代码如下(示例):
class Student{
//字段 属性 成员变量 :定义的类当中,方法外面
public String name;
public int age;
public void show() {
System.out.println("name "+ name);
System.out.println("age "+ age);
}
public void eat() {
System.out.println(name + " 在吃饭");
}
}
public class Test{
public static void main(String[] args) {
Student student = new Student();//通过new关键字进行实例化
student.name = "小啊鳄";// 通过 对象名. 号进行引用赋值
student.age = 18;
student.show();//引用成员方法
student.eat();
}
}
运行截图:
三、this引用
1.什么是this
-
引用当前对象的实例变量:
当方法的参数名与实例变量名相同时,可以使用 this 来区分它们 -
调用当前对象的方法:
可以在类的方法中使用 this 来调用同一个类中的其他方法
2. 如何使用this
例子1. 方法的参数名与实例变量名相同
class Student{
//字段 属性 成员变量 :定义的类当中,方法外面
public String name;
public int age;
public String setName(String name) {
return this.name = name;
}
}
运行截图
例子2. 调用当前对象的方法
class Student{
//字段 属性 成员变量 :定义的类当中,方法外面
public String name;
public int age;
public String setName(String name) {
return this.name = name;
}
public void print() {
this.show();
}
public void show() {
System.out.println("name "+ name);
System.out.println("age "+ age);
}
}
运行截图
四、构造方法及初始化
- 实例化对象的时候会调用构造方法,倘若当前没有构造方法,Java会给你默认提供一个构造方法(不在参数),但是如果有构造方法,则Java就不会提供。
- 构造方法是特殊的成员方法,名字与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只会调用一次。
1.构造方法
构造方法:名字与类名相同 ,没有返回值类型,this来调用当前对象的其他构造方法的时候,必须在第一行。
public Student(String name, int age) {
this.name = name;
this.age = age;
}
2.初始化
new对象的时候可以直接传值进行初始化
public static void main(String[] args) {
Student student = new Student("小啊鳄",12);
student.setName("小啊鳄");
student.print();
}
运行截图
山河依旧,你我皆是路人