Java基础-Day10

Java基础-Day10

对象作为参数传递给方法

  • 实例:

    1. 定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积

    2. 定义一个PassObject类,在类中顶一个方法printArea(),该方法的定义如下:public void printAreas(Circle c, int time)

      在printAreas方法中打印出1到time之间的每个整数半径值,以及对应的面积。

      例如:time为5,则输出半径1,2,3,4,5,以及对应的面积

    3. 在main方法中调用printAreas()方法,调用完毕后输出当前半径值

//Circle类
package com.lurenj.java;

public class Circle {
    double radius;
    public double findArea(){
        double area = radius * radius * Math.PI;
        return area;
    }
}

//PassObject类
package com.lurenj.java;

public class PassObject {
    public static void main(String[] args) {
        PassObject test = new PassObject();
        Circle c = new Circle();
        test.printAreas(c,5);
        System.out.println("now radius is " + c.radius);
    }
    public void printAreas(Circle c, int time){
        for (int i = 1; i <= time; i++) {
            c.radius = i;
            System.out.println("半径为:" + c.radius + "面积为:" + c.findArea());
        }
        c.radius = time + 1;
    }
}

面向对象特征之一:封装与隐藏

package com.lurenj.java;
/*
* 面向对象的特征:封装与隐藏
*
* 封装性的体现:对类的属性私有化(private),同时,提供公共的public方法获取(getXxx)
* 和设置该属性(setXxx)
*
* 封装性的体现,需要权限修饰符来配合
* 1.Java规定的4种权限(从小到大排列):private、缺省、protected、public
* 2.四种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
* 3.具体的,4种权限都可以用来修饰类的内部类:属性、方法、构造器、内部类
*    修饰类的话,只能使用:缺省、public
* */
public class AnimalTest {
    public static void main(String[] args) {
        Animal a = new Animal();
        a.name = "狗";
        a.age = 1;
        a.setLegs(6);
        a.show();
    }
}

class Animal{
    String name;
    int age;
    private int legs;//private对该属性进行封装


    //对属性的设置
    public void setLegs(int l){
        if (l >=0 && l % 2 == 0){
            legs = l;
        }else {
            legs = 0;
        }
    }

    //对属性的获取
    public int getLegs(){
        return legs;
    }
    public void eat(){
        System.out.println("动物进食");
    }



    public void show() {
        System.out.println("name = " + name +",age: "
        + age + " legs:" + legs);
    }
}
posted @ 2023-07-04 16:20  Clayborne  阅读(40)  评论(0)    收藏  举报