java设计完成一个类,其中有两个成员变量,一个是公有的一个是私有的
时间: 2024-10-23 21:11:33 浏览: 33
在Java中,设计一个类时,你可以通过访问修饰符来控制成员变量的可见性和封装性。如果你想创建一个类,比如`Person`,它有两个成员变量,一个公有(public)用于外部直接访问,另一个私有(private)以保护数据的安全性:
```java
public class Person {
// 公共成员变量(属性),任何人都可以访问
public String name;
// 私有成员变量(属性),只能在类内部访问
private int age;
// 构造函数(Constructor)
public Person(String name, int age) {
this.name = name;
this.age = age; // 使用this关键字引用当前实例的age变量
}
// getter方法获取私有变量
public int getAge() {
return age;
}
// setter方法设置私有变量
public void setAge(int age) {
this.age = age;
}
}
```
在这个例子中,`name`可以直接被外界设置和读取,而`age`则需要通过`getAge()`和`setAge()`方法间接访问,以保证数据的封装。
相关问题
Java定义一个球类 Ball,包含一个私有成员变量半径(double r),两个公有成员方法:设定半径值方法( void setR(double x)、得到半径值方法《 double易tR())。 定义一个台球类 Billiards,继承 Ball 类,包含一个私有成员变量颜色(stringcolor),两个公有成员方法: 设定额色方法(void setCol(String dol)、输出信息方法(void showl)),其中 show 方法可以输出该台球的颜色和半径值。定义一个公有类,测试前两个类
可以按照以下代码实现:
```java
class Ball {
private double r;
public void setR(double x) {
r = x;
}
public double getR() {
return r;
}
}
class Billiards extends Ball {
private String color;
public void setCol(String col) {
color = col;
}
public void show() {
System.out.println("颜色:" + color);
System.out.println("半径:" + getR());
}
}
public class Test {
public static void main(String[] args) {
Billiards b = new Billiards();
b.setR(5.0);
b.setCol("红色");
b.show();
}
}
```
在测试类中,我们创建了一个 Billiards 对象 b,并分别调用 setR、setCol 和 show 方法设置和展示台球的半径和颜色。由于 Billiards 继承自 Ball 类,因此可以直接使用 Ball 类中定义的 setR 和 getR 方法。输出结果如下:
```
颜色:红色
半径:5.0
```
在一个java文件中,编写三个类, (2)、一个类是Student类,类中有两个成员变量name和age,两个成员变量都设为私有类型,提供set,get方法并设置公有类型,其中age在20-30之间;在该类中设置study方法,该方法为公有方法,无返回值类型,功能是打印“name+age+”study””(注意打印时name和age,age和study之间要有空格); (3)、一个类是Teacher类,类中有两个成员变量name和age,两个成员变量都设为私有类型,提供set,get方法并设置公有类型,其中age在30-70之间;在该类中设置teach方法,该方法为公有方法,无返回值类型,功能是打印“name+age+”teach””(注意打印时name和age,age和study之间要有空格); (4)、一个类为Test1类,内有主函数,在主函数中创建Student对象实例赋值,实现study方法,创建Teacher对象实例赋值,实现teach方法。
我可以回答这个问题。以下是代码实现:
Student类:
```
public class Student {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if (age >= 20 && age <= 30) {
this.age = age;
} else {
System.out.println("Age should be between 20 and 30.");
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void study() {
System.out.println(name + " " + age + " study");
}
}
```
Teacher类:
```
public class Teacher {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if (age >= 30 && age <= 70) {
this.age = age;
} else {
System.out.println("Age should be between 30 and 70.");
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void teach() {
System.out.println(name + " " + age + " teach");
}
}
```
Test1类:
```
public class Test1 {
public static void main(String[] args) {
Student student = new Student();
student.setName("Tom");
student.setAge(25);
student.study();
Teacher teacher = new Teacher();
teacher.setName("John");
teacher.setAge(40);
teacher.teach();
}
}
```
输出结果:
```
Tom 25 study
John 40 teach
```
阅读全文