java简述类和类的实例化和继承
时间: 2025-01-01 12:32:46 浏览: 20
### Java 中类的概念
在 Java 编程语言中,类是面向对象编程的基础构件。类不仅封装数据(属性),还定义了可以在这些数据上执行的操作(方法)。通过类可以创建多个具有相同结构的对象。
#### 定义一个简单的类
```java
public class Person {
// 属性 (成员变量)
private String name;
// 构造函数
public Person(String name) {
this.name = name;
}
// 方法 (行为)
public void sayHello() {
System.out.println("Hello, my name is " + name);
}
}
```
### 实例化对象
要使用 `Person` 类中的功能,需先创建其实例。这可以通过调用带有适当参数的新建运算符 (`new`) 来完成,并指定构造器所需的初始值[^1]。
#### 创建并初始化对象的例子
```java
// 使用 Constructor 的 newInstance 方法创建对象
try {
Class<?> personClass = Class.forName("Person");
Object instance = personClass.getConstructor(String.class).newInstance("Alice");
} catch (Exception e) {
e.printStackTrace();
}
// 或者更常见的做法如下:
Person alice = new Person("Alice");
alice.sayHello(); // 输出 Hello, my name is Alice
```
### 继承机制
继承允许新类从现有类派生而来,从而重用代码、扩展功能或修改已有特性。子类会自动获得父类所有的公共和受保护字段及方法,除非显式覆盖它们。关键字 `extends` 表明了一个类是从另一个类继承而来的。
#### 建立父子关系的一个例子
```java
class Employee extends Person {
private double salary;
public Employee(String name, double salary) {
super(name); // 调用超类的构造器
this.salary = salary;
}
@Override
public void sayHello(){
System.out.printf("Hi there! I'm %s and earn %.2f per year.\n", getName(), getSalary());
}
// Getter 和 Setter 省略...
}
```
在此基础上,当实例化 `Employee` 对象时,也会触发其基类 `Person` 的相应逻辑:
```java
Employee bob = new Employee("Bob", 70000.50);
bob.sayHello(); // Hi there! I'm Bob and earn 70000.50 per year.
```
阅读全文