java面向对象示例_java面向对象示例

定义一个鸭子类,该类如下:

1) 一个公共静态常量type,指明该类的类型为鸭子

2) 三个私有变量 年龄 体重 性别

3) 有三个构造方法,一个无叄,一个只含一个参数,一个含所有参数,要求第三个构造方法调用第二个.

4) 定义一个say方法,然后重载一个say方法

5) 定义一个类方法(static),用于获取类的类型type

6) 重写toString方法

7) 为所有私有变量设置setter和getter方法

8) 定义一个普通代码块,输出一句信息

9) 定义一个static代码块,输出一句话.

public class Duck{

//公共静态常量

public static final String type;

//三个私有变量

private int age;

private double weight;

private String sex;

//三个构造方法(方法名与类名相同)

public Duck(){}

public Duck(int age){

this.age = age;

}

public Duck(int age, double weight,String sex){

this(age);//调用第二个构造方法

this.weight = weight;

this.sex = sex;

}

//定义一个普通方法

public void say(int age){

if (age > 1){

System.out.println("丫丫丫");

}

}

//对上面的方法重载

public void say(int age,double weight){

if (age > 1 || weight < 0.6){

System.out.println("丫丫丫");

}

}

//定义一个类方法

public static void forName(String className){

}

//重写toString方法

public String toString(){

return "age is " + age + " sex is " + sex + " weight is " + weight;

}

//设置setter,getter

public int getAge(){

return age;

}

public void setAge(int age){

this.age = age;

}

public double getWeight(){

return weight;

}

public void setWeight(double weight){

this.weight = weight;

}

public String getSex(){

return sex;

}

public void setSex(String sex){

this.sex = sex;

}

//普通代码块

{

System.out.println("这是个普通代码块");

}

//static 代码块

static{

type = "duck";

System.out.println("这是个static代码块");

}

}

测试类:

public class DuckTest{

public static void main(String[] args){

System.out.println(Duck.type);

//创建Duck类下的3个对象

Duck duck1 = new Duck();

Duck duck2 = new Duck(1);

Duck duck3 = new Duck(3,2.5,"雄性");

System.out.println(duck1.toString());

System.out.println(duck2.toString());

System.out.println(duck3.toString());

//调用setter方法,重置duck1

duck1.setAge(2);

duck1.setSex("male");

duck1.setWeight(2.6);

System.out.println(duck1.toString());

//调用setter方法,重置duck2

duck2.setSex("famale");

duck2.setWeight(10.05);

System.out.println(duck2.toString());

}

}

public class DuckTest{

public static void main(String[] args){

//首先执行一次static代码块

System.out.println(Duck.type);//--duck

//创建Duck类下的3个对象,当类被实例化的时候就执行一次普通代码块

Duck duck1 = new Duck();//--这是个普通代码块

Duck duck2 = new Duck(1);//--这是个普通代码块

Duck duck3 = new Duck(3,2.5,"雄性");//--这是个普通代码块

//调用重写后的toString() ,int默认值为0,double默认0.0,String为null

System.out.println(duck1.toString());//--age is 0 sex is null weight is 0.0

System.out.println(duck2.toString());//---age is 1 sex is null weight is 0.0

System.out.println(duck3.toString());//---age is 3 sex is 雄性 weight is 2.5

//调用setter方法,重置duck1

duck1.setAge(2);

duck1.setSex("male");

duck1.setWeight(2.6);

System.out.println(duck1.toString());//---age is 2 sex is male weight is 2.6

//调用setter方法,重置duck2

duck2.setSex("famale");

duck2.setWeight(10.05);

System.out.println(duck2.toString());//--age is 1 sex is famale weight is 10.05

}

}

执行结果为:

373d8704ee6cd3b0dadabc5c7e67ff86.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值