我没有任何Java经验并且具有C背景.
我想创建一个新的数据类型,如抽象数据类型.在C中,这将通过为新数据类型创建结构来完成; 我理解在Java中,您为该新数据类型创建一个类,然后继续为该类创建对象.
我写了两种不同的方式,它们似乎都有效.但我不明白第二种方式的缺点.
在这里,我为数据类型创建一个类,创建它的一个实例,然后执行操作.我发现这是互联网教程中使用的设计.
public class DesignOne {
public static void main(String[] args) {
MyDataType obj = new MyDataType(3,4);
System.out.println(obj.sum());
}
}
class MyDataType {
int i;
int j;
MyDataType(int i, int j) {
this.i = i;
this.j = j;
}
int sum() {
return this.i + this.j;
}
}
Run Code Online (Sandbox Code Playgroud)在这里,我在同一个类中创建了一个类的实例,我有我的驱动函数.类似sum
的操作也被定义为类的成员.基本上,只有一个班级.
public class DesignTwo {
int i;
int j;
DesignTwo(int i, int j) {
this.i = i;
this.j = j;
}
int sum() {
return this.i + this.j;
}
public static void main(String[] args) {
DesignTwo obj = new DesignTwo(3,4);
System.out.println("sum == "+obj.sum());
}
}
Run Code Online (Sandbox Code Playgroud)DesignTwo有哪些缺点,为什么DesignOne更受青睐?
chr*_*ke- 10
两者之间没有固有的区别(尽管通常不鼓励非最终的公共领域).唯一的区别是你放置main方法,它在概念上不属于任何特定的类.在较大的程序中,它通常只存在于一个单独的启动器类中,因为将它绑定到某个任意类是没有意义的,但这与数据建模几乎无关.