Java练习题12.2
1.案例3-1:定义学生类
案例描述:
设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄
package com.shangjiti.aoian;
public class Student {
String name;
int age;
public void speak(){
System.out.println("名字是"+name+"年龄是:"+age+"岁");
}
}
2.案例3-2:创建类的对象
案例描述:
基于案例3-1,创建一个学生对象stu,为stu的name和age属性赋值,然后调用speak()方法输出该学生的信息。
package com.shangjiti.aoian;
public class No1 {
public static void main(String[] args) {
Student stu=new Student();
stu.name="Aoain";
stu.age=3; //调用对象的结构:属性,对象
System.out.println(stu.name);//调用属性:"对象.属性"
System.out.println(stu.age);
stu.speak(); //调用方法:对象.方法
}
}
3.案例3-3:类的封装
案例描述:
本案例将使用private关键字对成员变量name和age进行私有化,然后定义getName()、setName(String n)、getAge()和setAge(int a)四个对外访问name和age的方法。
在setAge(int a)方法中对传入的参数进行检查,如果输入值为负数,则打印出“设置的年龄不合法”,如果不为负数,才将其设置为age属性的值。
在setName方法中对传入的参数进行检查,如果为空串,则提示“姓名不能为空”,如果不为空,才将其设置为name的值。
在main()方法中创建Student类的实例对象,通过调用对象的setName(String n)和setAge(int a)方法来设置的name属性和age属性值,并调用speak()方法。
package com.shangjiti.aoian;
class student{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String stuName) {
if(stuName=="")
{
System.out.println("姓名不能为空");
}
else
{
name=stuName;
}
}
public int getAge() {
return age;
}
public void setAge(int stuAge) {
if(stuAge<=0)
{
System.out.println("设置年龄不合法");
}
else
{
age=stuAge;
}
}
public void speak() {
System.out.println("姓名是:"+name+"年龄为:"+age);
}
}
public class No3{
public static void main(String[] args) {
student stu=new student();
stu.setAge(-30);
stu.setName("");
stu.speak();
}
}
4.巩固练习
定义一个Division类(除法),类中定义两个int类型的私有成员变量dividend(被除数)和divisor(除数),默认值都为1。定义四个公有方法setDividend(int mDividend )、getDividend()、setDivisor(int mDivisor)和getDivisor(),用于对私有属性进行设置和访问。在setDivisor(int mDivisor)方法中对传入的参数进行检查,如果传入值为零,则打印“除数不能为零”,如果不为零,才将其设置为divisor属性的值
package com.shangjiti.aoian;
class Divison{
private int divident=1;
private int divisor=1;
double result;
public void setDivident(int mDivident) {
divident=mDivident;
}
public int getDivident() {
return divident;
}
public void setDivisor(int mdivisor) {
if(mdivisor==0) {
System.out.println("除数不能为0");
}
else {
divisor=mdivisor;
}
}
public int getDivisor() {
return divisor;
}
}
public class No5 {
public static void main(String[] args) {
Divison a=new Divison();
a.setDivident(40);
a.setDivisor(8);
int divident=a.getDivident();
int divisor=a.getDivisor();
System.out.println(divident/divisor);
}
}