我正在一个面向对象的程序中使用独立的类。
1.您是在单独的.java文件中创建单独的类和程序本身,还是相同的文件?
例如:
public class filename {
// ... content
}
class name {
}
1.您可以在单独的类中使用Scanner,还是应该在main()方法中使用它?
如果是,如何做到?
1.假设您必须在main()方法中使用Scanner,并且您声明了一个新的变量input并将其初始化为Scanner input。
你怎么把它设置为一个变量,在一个单独的类中,你会创建一个新的对象吗?
示例:
public class TestSimpleCircle {
public static void main(String[] args {
SimpleCircle circle1 = new SimpleCircle();
System.out.println("The area of the circle of radius " + circle1.radius + " is " + circle1.getArea());
// Create a circle with radius 25
SimpleCircle circle2 = new SimpleCircle(25); System.out.println("The area of the circle of radius " + circle2.radius + " is " + circle2.getArea());
// Create a circle with radius 125
SimpleCircle circle3 = new SimpleCircle(125); System.out.println("The area of the circle of radius " + circle3.radius + " is " + circle3.getArea());
// Modify circle radius
circle2.radius = 100; // or circle2.setRadius(100) System.out.println("The area of the circle of radius " + circle2.radius + " is " + circle2.getArea());
}
}
class SimpleCircle {
double radius;
SimpleCircle() {
radius = 1;
}
SimpleCircle(double newRadius) {
radius = newRadius;
}
double getArea() {
return radius * radius * Math.PI;
}
double getPerimeter() {
return 2 * radius * Math.PI;
}
void setRadius(double newRadius) {
radius = newRadius;
}
}
......(例如,circle1.getArea())?
1.当您在单独的类中创建变量时,它们是否以某种方式连接到main()方法中的同名变量或不同的类中?
4条答案
按热度按时间yizd12fk1#
对于第一个问题。是的,您可以在同一个java文件中创建不同的类,编译java文件后,将为您定义的每个类创建单独的.class文件。
我想提一下你可以用任何名字保存你的java文件然后编译它.但是如果任何类被声明为公共的(如上面的例子公共类文件名)那么java文件应该和公共类有相同的名字.
如果不这样做,您将得到编译时错误消息:* 类文件名是公共的,应在名为*文件名的文件中声明。
希望这对你有一点帮助...
jm81lzqq2#
一个类一个文件,无一例外,这将保存大量的时间时,维护产品的未来.
尽量避免使用带有无用赋值的构造函数(如果你使用不带参数的构造函数,那么默认值
radius=1
是什么意思)。2尽量避免通过设置函数改变类的状态。3创建带有新状态(半径)的新对象。尝试调用方法名词,反映返回的实体
尝试命名void方法动词,以反映对象的行为。
现在说说扫描仪。
尝试使用此想法/模板
当您在单独的类中创建变量时,它们是否以某种方式连接到main()方法中的同名变量或不同的类中?
只有一种方式。通过方法或构造函数参数。请参阅前面的
Main
/MyClass
代码。g9icjywg3#
您是在单独的.java文件中创建单独的类和程序本身,还是在同一个 * 中创建?
Every class in Java should be in its own file,但是您可以在一个文件中创建多个类。例如
你能在单独的类中使用Scanner吗?还是应该在main()方法中使用它?如果可以,怎么做?
这取决于你的应用程序。许多人喜欢尽可能的组织和分离,所以最好的建议是把它放在自己的类中。但是对于非常简单的例子和应用程序,我只是把它放在
main()
方法中,或者如果我只想在任何方法中使用一次。Scanner是一个独立的类,所以如果你创建另一个类只是为了单独 Package 它,那真的不值得。您可以将Scanner创建为任何类的成员变量,如果有一些方法要与它一起使用,则可以使用它。
这些只是一些想法,完全取决于您的设计、应用行为和个人推荐
至于怎么做,这里有一个例子
假设你必须在main()方法中使用Scanner,并且你声明了一个新的变量input并初始化为Scanner input,你会如何将它设置为单独类中的变量之一?你会创建一个新对象并做...
是的,我会创建这个类的新对象并用输入值初始化它的成员。或者我把扫描器放在类中,询问用构造函数创建的每个对象的半径。有很多不同的方法,没有对与错。只是尽可能避免重复和依赖。
下面是您的代码编辑与这样做的例子
krugob8w4#
扫描器就像任何其他对象一样,可以通过引用传递到另一个方法/类中,并且仍然可以使用。
也可以创建和使用scanner类的不同示例。
你可以在任何你需要的类中使用Scanner。如果你创建了一个新的对象示例,它将不会与其他示例连接。这个问题并不是Scanner特有的,而是一般的java对象。