首页 > 解决方案 > 我怎样才能“连接”2个班级

问题描述

我见过这个,但我是一名学生,就我而言,我很困惑。我想Circle在另一个 Demo 类中创建一个蓝图类 ()的实例CircleDemo

下面的代码是Circle类,下面这个是实际显示的。

public class Circle {
    private double radius;

    public double getRadius(double rad) {
        return radius = rad;
    }
    public double setRadius() {
        return radius;
    }
    public double getDiamiter() {
        return (radius+radius);
    }
    public double getArea() {
        return Math.PI * (Math.pow(radius, 2));
    }
    public double getCircum(){
        return  Math.PI * (radius+radius);
    }
}

显示在下方

import java.util.Scanner;

public class CircleDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Multi Circle Calc");
        System.out.println("===================");
        System.out.print("Enter your radius please ==> ");
        //a scanner statement should be here!
    }
}

标签: javaclassinstantiation

解决方案


您似乎对如何实例化一个类感到困惑。让我给你举个例子,而不是为你解决你的家庭作业。

说我有下面的课

public class Foo {
    private int data;

    public int getData() {
        return data;l
    } 

    public void setData(int newData) {
        data = newData;
    }
}

如果我想创建这个类的一个实例,我必须使用 new 关键字。

public class FooDemo {
    public static void main(String[] args) {
        Foo foo = new Foo();
    }
}

如果我想设置字段,我可以调用我创建的 setter

public class FooDemo {
    public static void main(String[] args) {
        Foo foo = new Foo();
        foo.setData(2);
    }
}

如果我想查询该数据,我可以使用 getter

public class FooDemo {
    public static void main(String[] args) {
        Foo foo = new Foo();
        foo.setData(2);
        System.out.println(foo.getData());
    }
}

哪个会打印

2

每个实例都有自己的数据,所以我可以轻松地创建多个实例Foo,每个实例都有自己的数据

public class FooDemo {
    public static void main(String[] args) {
        Foo foo1 = new Foo();
        Foo foo2 = new Foo();
        foo1.setData(3);
        foo2.setData(4);
        System.out.println(foo1.getData());
        System.out.println(foo2.getData());
    }
}

哪个会打印

3
4

在您的家庭作业中,您被分配使用 aScanner从用户那里获取数据并将其传递给 setter。您将执行类似的任务,即实例化 Circle类并调用 setter,然后调用不同的方法来查看数据。希望以上示例足以让您入门。


推荐阅读