Java语言在内部类中定义一个另外的类用来代表输入的数据,这个数据怎么才能被另外一个类的方法去调用呢?判断这个类的数据用Java怎么实现的呢
#1
public class Data {
private int number;
public Data(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}
public class MyClass {
public static void main(String[] args) {
// 创建Data对象
Data data = new Data(10);
int number = data.getNumber();
System.out.println("Data数据为: " + number);
}
}
#2
public class Data {
private int number;
public Data(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
public boolean isEven() {
return number % 2 == 0;
}
}
public class MyClass {
public static void main(String[] args) {
Data data = new Data(10);
if (data.isEven()) {
System.out.println("Data对象的数据是偶数");
} else {
System.out.println("Data对象的数据不是偶数");
}
}
}
在Java中,内部类可以访问外部类的成员变量和方法,因此可以在内部类中定义一个类来代表输入的数据,然后将这个类的对象作为参数传递给外部类的方法。
例如,假设有一个外部类OuterClass
,其中有一个方法outerMethod
,需要接受一个InnerClass
类型的参数,该参数代表输入的数据。可以在OuterClass
中定义一个内部类InnerClass
,并将其作为outerMethod
的参数类型,如下所示:
public class OuterClass {
public void outerMethod(InnerClass innerObj) {
// 使用 innerObj 对象代表的数据
System.out.println("Inner data: " + innerObj.getData());
}
public class InnerClass {
private String data;
public InnerClass(String data) {
this.data = data;
}
public String getData() {
return data;
}
}
}
在这个例子中,InnerClass
代表输入的数据,它有一个私有成员变量data
和一个公共方法getData()
,用于获取data
的值。在OuterClass
的方法outerMethod
中,我们可以创建一个InnerClass
对象,并将其作为参数传递给outerMethod
方法,如下所示:
OuterClass outerObj = new OuterClass();
InnerClass innerObj = new InnerClass("Hello World");
outerObj.outerMethod(innerObj);
这样就可以在外部类中使用内部类的对象来代表输入的数据了。
不知道你这个问题是否已经解决, 如果还没有解决的话:package negtive_reference;
/*
* 被动使用字段演示一
通过子类引用父类的静态字段,不会导致子类初始化
*/
public class SuperClass {
static{
System.out.println("SuperClass Init");
}
public static int value=123;
}
package negtive_reference;
public class SubClass extends SuperClass{
static{
System.out.println("SubClass Init");
}
}
package negtive_reference;
public class NotInitialization {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(SubClass.value);
}
}
输出内容 :