在一个源文件中编写4个类Hello、A、B和C,主方法包含在类Hello中,类A、B、C中各包含一个静态和非静态方法,在类Hello的主方法中分别调用类A、B、C中的方法。

此博客展示了如何在一个Java源文件中定义4个类Hello、A、B和C,并在Hello类的主方法中调用各类的静态和非静态方法。类A、B、C各自包含一个静态方法和非静态方法,例如A类的charAt和atoi,B类的getB和itoa,以及C类的getC和atof。
在一个源文件中编写4个类Hello、A、B和C,主方法包含在类Hello中,类A、B、C中各包含一个静态和非静态方法,在类Hello的主方法中分别调用类A、B、C中的方法。
package com.majing;

public class HelloABC {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//A的非静态方法--------------------------
		A a = new A("I am");
		System.out.println(a.charAt(3));
		//A的静态方法
		System.out.println(A.atoi("123456"));
		
		//B的非静态方法--------------------------
		B b = new B(20);
		System.out.println(b.getB());
		//B的静态方法
		System.out.println(B.itoa());
		
		//C的非静态方法
		C c = new C(20.12f);
		System.out.println(c.getC());
		//C的静态方法
		System.out.println(C.atof("12.125"));
		
	}

}

class A{
	static public String _a;
	
	public A(String a){
		this._a = a;
	}
	
	public char charAt(int index){
		return _a.charAt(index);
	}
	
	public static int atoi(String b){
		return Integer.parseInt(b);
	}

}

class B{
	public static int _b;

	public B(int b){
		this._b = b;
	}
	
	public int getB(){
		return this._b;
	}
	
	public static
<think>好的,我现在要帮助用户解决如何在Java中编写包含三个(Lader、CircleA)的应用程序的问题。首先,我需要回忆用户提供的引用内容,看看是否有相关的示例或指导。 根据引用[1],用户之前的问题是关于将多个源文件放在同一目录下编译,特别是主使用了其他的情况。示例中提到了Hello.java使用A、B、C,并且编译时只需要编译主。因此,我需要确保用户现在的问题中,主A正确引用了LaderCircle,并且所有都在同一目录下。 引用[2]提到面向抽象或接口的设计,但用户当前的问题似乎不需要抽象或接口,只需要三个具体。不过,可能需要确认用户是否需要遵循某种设计模式,但根据问题描述,用户可能只需要基础的结构。 接下来,我需要构建这三个的结构。主A需要包含main方法,创建LaderCircle的对象并调用它们的方法。Lader可能代表梯形,可能有计算面积的方法;Circle代表圆,计算面积或周长。需要确保每个有正确的方法属性。 需要注意的是,Java中每个都应该在自己的源文件中,文件名与名一致,大小写敏感。因此,用户需要创建Lader.java、Circle.javaA.java三个文件,放在同一目录下,比如C:\100,然后编译A.java,这会自动编译其他依赖的。 需要检查代码示例是否正确,比如Lader的构造方法是否接收上底、下底高,计算面积是否正确。Circle是否有半径属性计算面积的方法。主A是否正确实例化这两个并输出结果。 可能的问题点:用户可能没有正确设置之间的访问权限,或者方法不是public的,导致主无法访问。需要确保所有方法都是public的,或者默认访问权限,因为它们在同一个目录下。 另外,编译命令是否正确,用户是否应该使用javac A.java,这会自动编译所需的LaderCircle,前提是它们在同一个(即同一目录)下。 最后,生成相关问题,可能需要涉及如何编译多个、面向对象设计原则、或者之间的交互等。</think>根据Java面向对象编程的基本原则,我将为您演示包含Lader、CircleA的应用程序实现: ### 实现步骤 1. 创建三个独立的源文件:`Lader.java`、`Circle.java`、`A.java` 2. 每个实现特定功能 3. 主A中进行对象创建方法调用 ```java // Lader.java public class Lader { private double upperBase; // 上底 private double lowerBase; // 下底 private double height; // 高 public Lader(double u, double l, double h) { upperBase = u; lowerBase = l; height = h; } public double calculateArea() { return (upperBase + lowerBase) * height / 2; } } ``` ```java // Circle.java public class Circle { private double radius; public Circle(double r) { radius = r; } public double calculateArea() { return Math.PI * radius * radius; } public double calculateCircumference() { return 2 * Math.PI * radius; } } ``` ```java // A.java public class A { public static void main(String[] args) { // 创建梯形对象 Lader lader = new Lader(3.0, 5.0, 4.0); System.out.println("梯形面积:" + lader.calculateArea()); // 创建圆形对象 Circle circle = new Circle(2.5); System.out.println("圆面积:" + circle.calculateArea()); System.out.println("圆周长:" + circle.calculateCircumference()); } } ``` ### 编译运行说明 1. 将三个文件保存到同一目录(例如:`C:\javaapp`) 2. 打开命令行工具,进入该目录 3. 执行编译命令: ```bash javac A.java ``` 4. 运行程序: ```bash java A ``` ### 注意事项 1. 名必须与文件名严格一致(区分大小写) 2. 编译主时会自动编译依赖的 3. 使用面向对象封装特性,成员变量设为private[^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值