java A类里面再定义B类 然后用A类的main方法调用B类 用代码举个例子
时间: 2024-05-01 15:21:51 浏览: 121
当A类中定义了B类时,我们称B类为A类的内部类。在Java中,可以通过以下代码来定义内部类并在A类的main方法中调用B类:
```
public class A {
private int num = 10;
// 定义B类
public class B {
public void show() {
System.out.println("num = " + num);
}
}
public static void main(String[] args) {
// 创建A类对象
A a = new A();
// 创建B类对象并调用show方法
A.B b = a.new B();
b.show();
}
}
```
在这个例子中,类A中定义了一个内部类B。B类中有一个show方法,用于输出A类中的私有变量num。在A类的main方法中,我们首先创建了A类的一个对象a,然后使用a.new B()来创建B类的一个对象b。最后我们调用了b的show方法,输出了num的值。
相关问题
请使用Java,编写一个类,类中定义一个静态方法,用于求两个整数的和。在main( )方法中调用getSum (int a,int b)方法并输出计算结果。
在Java中,你可以创建一个名为`NumberAdder`的类,并在其中定义一个静态方法`getSum()`来实现这个需求。下面是一个简单的示例:
```java
public class NumberAdder {
// 定义静态方法,接受两个整数作为参数并返回它们的和
public static int getSum(int a, int b) {
return a + b;
}
// main方法,演示如何在该类中调用静态方法
public static void main(String[] args) {
// 调用getSum()方法,并将结果存储在一个变量中
int result = getSum(5, 10);
// 输出计算结果
System.out.println("The sum of " + a + " and " + b + " is: " + result);
}
}
```
在这个例子中,`a` 和 `b` 的值并没有直接传递给 `main` 方法,因此你需要在 `main` 方法内部或者其他地方明确地提供这两个数值。注意,在打印结果时,`a` 和 `b` 没有定义,需要修改为 `result` 来避免编译错误。
编写一个Java程序, 在程序中定义一个Person类,然后定义类Student继承自Person类, 再定义一个主类MCla类,在main()方法中, 生成Student类的对象stu, 并用stu调用相应的方法设置与输出相应类的成员变量
当然,我可以帮你解释一下如何编写这个Java程序。首先,我们创建一个名为`Person`的基本类,然后定义一个子类`Student`,最后在`MClass`类的`main()`方法中实例化`Student`并操作其属性。
```java
// Person类
public class Person {
private String name;
private int age;
// 构造函数和getter/setter方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter and setter methods
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
// 其他方法...
}
// Student类继承自Person
public class Student extends Person {
private String major;
// 添加setter/getter for major
public String getMajor() { return major; }
public void setMajor(String major) { this.major = major; }
// 学生特有的方法...
}
// MClass类 - 主类
public class MClass {
public static void main(String[] args) {
// 创建一个Student对象
Student stu = new Student();
// 设置成员变量
stu.setName("张三");
stu.setAge(20);
stu.setMajor("计算机科学");
// 输出成员变量
System.out.println("Name: " + stu.getName());
System.out.println("Age: " + stu.getAge());
System.out.println("Major: " + stu.getMajor());
// 调用特定于学生的方法(假设有一个study()方法)
stu.study(); // 这里假设study()在Student类中有定义
}
}
```
在这个例子中,`MClass`的`main()`方法中,通过`stu`这个`Student`对象可以访问并修改`Person`的所有属性,并可以调用`Student`特有的方法,这就是多态性的体现。
阅读全文