class Raptor {
// 静态字段(类变量)(类名.直接调用)
public static String nation = "America";
// 字段(实例变量)(使用this.调用)
public String name;
public Integer weight;
// 构造方法,必须与类名相同,构造方法没有返回类型
// 构造方法在创建对象时被调用,用于初始化对象的状态
// 构造方法是通过 new 关键字来调用的,例如 new Raptor(123)
public Raptor() {
this.name = "Bald Eagle";
this.weight = 5;
}
// Java重载 方法名可以重名,但参数不同
// 使用Hook遇到重载默认报错,在方法名后加上.overload() 传入参数
public Raptor(int v1) {
this.weight = v1;
}
// 普通方法,必须指定返回类型(如果没有返回值,则使用 void)
// 普通方法是通过对象实例来调用的,类的一个实例.Ra()
public String Ra() {
return Raptor.nation;
}
}
class World {
public static void main(String[] args) {
Raptor r1 = new Raptor();
System.out.println(r1.name); // Bald Eagle
Raptor r2 = new Raptor(123);
System.out.println(r2.weight); // 123
String r3 = r1.Ra();
System.out.println(r3); // America
}
}
Java接口
interface IPerson {
public void func1();
public void func2();
}
class Ia implements IPerson {
public void func1() {
System.out.println("I1");
}
public void func2() {
System.out.println("I2");
}
public void func3() {
System.out.println("I3");
}
}
class IDemo {
public static void main(String[] args) {
IPerson v1 = new Ia();
v1.func1();
Ia v2 = new Ia();
v2.func3();
}
}
Java抽象类
abstract class Shape {
// 抽象方法
public abstract double area();
}
// 子类1
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
// 子类2
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double area() {
return width * height;
}
}
// 测试类
class Main {
public static void main(String[] args) {
Shape circle = new Circle(5);
System.out.println("Circle area: " + circle.area());
Shape rectangle = new Rectangle(3, 4);
System.out.println("Rectangle area: " + rectangle.area());
}
}