java第五周

这篇博客介绍了Java编程中的对象创建与封装概念。通过创建Student类和Phone类,展示了如何定义类、设置属性和方法。接着,演示了对象实例化、属性赋值和方法调用,包括私有化成员变量并提供公共访问方法。还讨论了对象赋值后的引用关系,并在Example03类中展示了处理除数为零的情况。最后,通过有参构造方法展示了对象初始化的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.练习:
(1)设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄。
class Student{
String name;
int age;
void speak() {
System.out.println("我的名字是 “+name+”,今年 "+age+“岁”);
}
}

2.自己定义一个Phone类,在类中定义brand和price属性,定义call()方法
public class Phone {
String brand;
double price;
void call(){
System.out.println(“hi,how are you doing”);
}
}

3.创建三个学生对象,它们的引用变量分别是s1、s2和s3,首先分别使用s1和s2引用,为name和age赋值,然后调用speak()方法,最后将s2变量赋值给s3, s3也调用speak()方法
public class Example01 {
public static void main(String [] args) {
Student s1 = new Student();
s1.name=“张三”;
s1.age=19;
s1.speak();
Student s2 = new Student();
s2.name=“李四”;
s2.age=20;
s2.speak();
Student s3 = new Student();
s3=s2;
s3.speak();
}
}

4.使用private关键字对成员变量name和age进行私有化,同时分别提供一个setName(String n)和setAge(int a)方法用于外界的访问,其中setAge(int a)中需要对age进行判断
(1)定义Example02类
public class Example02 {
public static void main(String[] args) {
Student s1 = new Student();
s1.name = “小新”;
s1.age = -30;
s1.speak();
}
}
(2)对Student类进行封装
class Student {
private String name = “张三”;
private int age = 19;
public String getName() {
return name;
}
public void setName(String n) {
name = n;
}
public int getAge() {
return age;
}
public void setAge(int a) {
// 对传入的参数进行检查
if(a < 0){
System.out.println(“设置的年龄不合法”);
}else{
age = a;
}
}
void speak() {
System.out.println(“我的名字是” + name + “,今年” + age + “岁”);
}
}
public class Example02 {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName(“小新”);
s1.setAge(-30);
s1.speak();
}
}

5.定义Example03类,在类的main()方法中创建Division对象,分别调用setDividend(int mDividend)和setDivisor(int mDivisor)方法给两个私有属性dividend和divisor赋值,然后打印出dividend和divisor的结果
(1)定义Division类
public class Division {
private int dividend = 1;
private int divisor = 1;
public void setDividend(int mDividend) {
dividend = mDividend;
}
public int getDividend() {
return dividend;
}
public void setDivisor(int mDivisor) {
if (mDivisor == 0) {
System.out.println(“除数不能为零”);
} else {
divisor = mDivisor;
}
}
public int getDivisor() {
return divisor;
}
}
(2)定义Example03类
public class Example03{
public static void main(String[] args) {
Division division = new Division();
division.setDividend(10);
division.setDivisor(0);
int dividend = division.getDividend();
int divisor = division.getDivisor();
System.out.println(dividend / divisor);
}
}

6.使用有参构造方法完成对象属性的初始化
(1)对Student类进行修改
class Student {
int age;
public Student(int mAge) {
age = mAge;
}
}
(2)定义Example04类
public class Example04 {
public static void main(String[] args) {
Student s1 = new Student(20);
System.out.println(“age属性的值为:”+s1.age);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值