返回

论Java中的属性、方法和构造器

后端

变量分类

在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"。