返回
论Java中的属性、方法和构造器
后端
2023-10-31 06:49:43
变量分类
在Java中,变量可以分为两类:
- 实例变量 :也称为成员变量,是属于类的变量,每个对象都有自己的一套实例变量。
- 局部变量 :是在方法内部声明的变量,只在该方法内部有效。
方法
方法是类的行为,它定义了类可以做什么。方法可以有返回值,也可以没有返回值。
public class MyClass {
private int x;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
在这个例子中,MyClass
类有一个名为x
的实例变量,有两个方法getX()
和setX()
. getX()
方法用于获取x
的值,setX()
方法用于设置x
的值。
构造器
构造器是用于创建对象的函数。当创建一个对象时,会自动调用该对象的构造器。构造器可以有参数,也可以没有参数。
public class MyClass {
private int x;
public MyClass() {
this.x = 0;
}
public MyClass(int x) {
this.x = x;
}
}
在这个例子中,MyClass
类有两个构造器:一个没有参数的构造器和一个带有一个参数的构造器。没有参数的构造器将x
的值设置为0,带有一个参数的构造器将x
的值设置为该参数的值。
访问控制
Java中的属性、方法和构造器可以有不同的访问控制级别:
- public :表示该属性、方法或构造器可以从任何地方访问。
- protected :表示该属性、方法或构造器只能从同一包或其子包中的类访问。
- default :表示该属性、方法或构造器只能从同一包中的类访问。
- private :表示该属性、方法或构造器只能从该类中访问。
继承
继承是面向对象编程的重要特性之一。它允许子类继承父类的属性、方法和构造器。
public class MyClass {
private int x;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
public class MyChildClass extends MyClass {
private int y;
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
在这个例子中,MyChildClass
类继承了MyClass
类的所有属性、方法和构造器。此外,MyChildClass
类还添加了一个名为y
的实例变量和两个方法getY()
和setY()
.
多态
多态是面向对象编程的另一个重要特性。它允许子类对象可以被当作父类对象使用。
public class MyClass {
public void print() {
System.out.println("MyClass");
}
}
public class MyChildClass extends MyClass {
@Override
public void print() {
System.out.println("MyChildClass");
}
}
public class Main {
public static void main(String[] args) {
MyClass object = new MyChildClass();
object.print(); // 输出 "MyChildClass"
}
}
在这个例子中,MyChildClass
类重写了MyClass
类的print()
方法。当创建一个MyChildClass
对象并将其赋值给MyClass
变量时,调用print()
方法时将输出"MyChildClass"。