定义一个Person类,由年龄和姓名属性,由 speak方法,可以说出自己的年龄和姓名。在主 方法中定义该类对象并调用speak方法
时间: 2024-09-25 16:13:25 浏览: 21
在Java中,我们可以创建一个名为`Person`的简单类,它包含两个基本属性:`name`(姓名)和`age`(年龄),以及一个方法`speak`(说话)。下面是一个简单的例子:
```java
public class Person {
// 属性
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// speak方法
public void speak() {
System.out.println("我的名字是 " + name + ", 我今年 " + age + "岁。");
}
}
// 主方法
public class Main {
public static void main(String[] args) {
// 创建Person对象
Person person = new Person("张三", 25);
// 调用speak方法
person.speak();
}
}
```
在这个例子中,`main`方法中首先创建了一个`Person`对象,并传入了"张三"作为姓名和25作为年龄。然后调用`speak`方法,使得这个对象能说出自己的信息。
相关问题
定义一个 person基类,包含公有属性:姓名name、年龄age,具有speak()公有方法;从person类中派生出一个teacher子类,该类新增私有属性:专业profession、职称title、主讲课程course,并定义重写基类speak( )方法。
以下是 Python 代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def speak(self):
print(f"{self.name}说:你好!")
class Teacher(Person):
def __init__(self, name, age, profession, title, course):
super().__init__(name, age)
self.__profession = profession
self.__title = title
self.__course = course
def speak(self):
print(f"{self.name}说:大家好,我是{self.__title} {self.name},我的专业是{self.__profession},我主讲的课程是{self.__course}。")
```
在上述代码中,我们定义了一个 `Person` 基类,包含了姓名 `name` 和年龄 `age` 两个公有属性,以及 `speak()` 公有方法;然后从 `Person` 类中派生出一个 `Teacher` 子类,该类新增了三个私有属性:专业 `profession`、职称 `title`、主讲课程 `course`,并且重写了基类 `speak()` 方法。在 `Teacher` 类的 `speak()` 方法中,我们使用了 f-string 格式化字符串,输出了该老师的一些信息。
按照下面要求定义类和创建对象 1、定于一个名为Person的类,其中含有一个String类型的成员变量name和一个int类型的成员变量age,为该类定义一个名为speak的方法,在其中输出其name和age的值。 2、为Person类定义一个带参数构造方法,通过给出姓名和年龄创建Person对象。定义默认构造方法,在该方法中调用有参数构造方法,将人的姓名设置为“张三”,年龄设置为20。 3、定义一个名为Employee类表示员工,它继承Person类,要求定义一个变量salary表示员工工资。定义computerSalary(double hours,int rate)方法计算员工工资,这里hours表示员工工作时间,rate表示每小时工资。定义默认构造方法和带name、age和salary参数的构造方法。
下面是代码实现:
```java
// Person类
public class Person {
private String name;
private int age;
// 有参数构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 默认构造方法
public Person() {
this("张三", 20); // 调用有参数构造方法
}
// speak方法
public void speak() {
System.out.println("My name is " + name + ", and I am " + age + " years old.");
}
}
// Employee类,继承Person类
public class Employee extends Person {
private double salary;
// 有参数构造方法
public Employee(String name, int age, double salary) {
super(name, age); // 调用父类构造方法
this.salary = salary;
}
// 默认构造方法
public Employee() {
super(); // 调用父类默认构造方法
this.salary = 0;
}
// 计算工资方法
public void computerSalary(double hours, int rate) {
this.salary = hours * rate;
}
}
```
创建对象的示例代码:
```java
// 创建Person对象
Person person1 = new Person();
Person person2 = new Person("李四", 25);
// 调用speak方法输出信息
person1.speak(); // 输出:My name is 张三, and I am 20 years old.
person2.speak(); // 输出:My name is 李四, and I am 25 years old.
// 创建Employee对象
Employee employee1 = new Employee();
Employee employee2 = new Employee("王五", 30, 5000);
// 调用speak方法输出信息
employee1.speak(); // 输出:My name is 张三, and I am 20 years old.
employee2.speak(); // 输出:My name is 王五, and I am 30 years old.
// 调用computerSalary方法计算工资
employee1.computerSalary(8, 100);
System.out.println("Employee1's salary is " + employee1.salary); // 输出:Employee1's salary is 800.0
```