小案例:定义修狗的名字、颜色和年龄
分别用有参、无参方法和有参、无参对象表示
对象有参、无参区别:有参需要先赋值,无参则可以可赋值
方法有参、无参区别:有参需要在方法中赋值,无参则在测试中赋值
(仅代表个人看法,有不对大家请指教)
下面是方法代码:
public class Dog {
// 定义属性
private String name;
private String color;
private int age;
//get set 配合private使用、
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//无参的构造方法
public Dog() {
}
//有参的构造方法,并给属性赋值
public Dog(String name, String color, int age) {
this.name = name;
this.color = color;
this.age = age;
}
//有参方法,在方法中赋值在输出
public void show(String name,String color,int age){
this.name=name;
this.color=color;
this.age=age;
System.out.println("修狗的名字是:"+this.name+",颜色是:"+this.color+",年龄是"+this.age+"岁");
}
//无参方法,直接输出,需在测试台赋值
public void show(){
System.out.println("修狗的名字是:"+this.name+",颜色是:"+this.color+",年龄是"+this.age+"岁");
}
}
下面是测试代码:
//导入Scanner类包
import java.util.Scanner;
public class DogText {
public static void main(String[] args) {
// 创建一个无参对象 dog1
Dog dog1=new Dog();
Scanner input =new Scanner(System.in);
// 键盘输入修狗的属性
System.out.print("请输入修狗的姓名:");
String name1=input.next();
System.out.print("请输入修狗的颜色:");
String color1=input.next();
System.out.print("请输入修狗的年龄:");
int age1=input.nextInt();
// 调用有参方法show
dog1.show(name1, color1, age1);
System.out.println("--------------------------"); //分割线
// 创建一个无参对象 dog2
Dog dog2=new Dog();
// 键盘输入修狗的属性
System.out.print("请输入修狗的姓名:");
String name2=input.next();
System.out.print("请输入修狗的颜色:");
String color2=input.next();
System.out.print("请输入修狗的年龄:");
int age2=input.nextInt();
// 先赋值
dog2.setAge(age2);
dog2.setColor(color2);
dog2.setName(name2);
// 调用无参方法show
dog2.show();
System.out.println("--------------------------"); //分割线
// 键盘输入修狗的属性
System.out.print("请输入修狗的姓名:");
String name3=input.next();
System.out.print("请输入修狗的颜色:");
String color3=input.next();
System.out.print("请输入修狗的年龄:");
int age3=input.nextInt();
// 创建一个有参对象 dog3
Dog dog3=new Dog(name3,color3,age3);
// 先赋值
dog3.setAge(age3);
dog3.setColor(color3);
dog3.setName(name3);
// 调用无参方法show
dog3.show();
}
}
下面是运行结果: