62,628
社区成员
发帖
与我相关
我的任务
分享
public class UseClass_1 {
class Point{
int x,y;
public Point(int x,int y){
this.x=x;
this.y=y;
}
}
class Circle{
Point center=new Point(0,0);
double radius=0;
public Circle(int x,int y,double r){
center.x=x;
center.y=y;
radius=r;
}
public double area(){
return Math.PI*radius*radius;
}
}
public void run(){
Point p =new Point(7,8);
Circle c=new Circle(p.x,p.y,9);
System.out.println("圆中心点在"+"("+p.x+","+p.y+")");
System.out.println("半径为"+c.radius);
System.out.println("圆的面积为"+ c.area());
}
public Point newPoint(){
return new Point(7,8);
}
public Circle newCircle(){
Point p=newPoint();
return new Circle(p.x,p.y,9);
}
public static void main(String[] args){
UseClass_1 user = new UseClass_1();
user.run();
Point p = user.newPoint();
Circle c = user.newCircle();
}
}
/**
*把这个类放到类外面声明
*/
class Point{
int x,y;
public Point(int x,int y){
this.x=x;
this.y=y;
}
}
/**
*把这个类放到类外面声明
*/
class Circle{
Point center=new Point(0,0);
double radius=0;
public Circle(int x,int y,double r){
center.x=x;
center.y=y;
radius=r;
}
public double area(){
return Math.PI*radius*radius;
}
}
public class UseClass_1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Point p =new Point(7,8);
Circle c=new Circle(p.x,p.y,9);
/**
*如果使用类名.方法(),那么你的方法需要定义成为static,即 public static double area();
*但是 area()中使用了radius这个属性也需要定义成为 static,因为静态方法不能访问类中非静态属性和方法
*/
System.out.println("圆中心点在"+"("+p.x+","+p.y+")");
System.out.println("半径为"+c.radius);
System.out.println("圆的面积为"+c.area());
}
}
public static void main(String[] args) {
UseClass_1 uc = new UseClass_1();
UseClass_1.Point p = uc.new Point(7, 8);
UseClass_1.Circle c = uc.new Circle(p.x, p.y, 9);
System.out.println("圆中心点在" + "(" + p.x + "," + p.y + ")");
System.out.println("半径为" + c.radius);
System.out.println("圆的面积为" + c.area());
}