下面是一个可能的Java源代码,它包含了一个接口(Shape)和五个类(Circle,Rectangle,Triangle,Square和Main)。它的功能是计算不同形状的面积和周长。
//定义一个接口Shape,有两个抽象方法:getArea()和getPerimeter()interfaceShape{doublegetArea();doublegetPerimeter();
}//定义一个类Circle,实现Shape接口classCircleimplementsShape{//定义一个私有属性radius,表示圆的半径
privatedoubleradius;//定义一个公有构造方法,用于初始化radius
publicCircle(doubleradius){this.radius=radius;
}//实现getArea()方法,返回圆的面积
publicdoublegetArea(){returnMath.PI*radius*radius;
}//实现getPerimeter()方法,返回圆的周长
publicdoublegetPerimeter(){returnMath.PI*radius*2;
}
}//定义一个类Rectangle,实现Shape接口classRectangleimplementsShape{//定义两个私有属性width和height,表示矩形的宽度和高度
privatedoublewidth;privatedoubleheight;//定义一个公有构造方法,用于初始化width和height
publicRectangle(doublewidth,doubleheight){this.width=width;this.height=height;
}//实现getArea()方法,返回矩形的面积
publicdoublegetArea(){returnwidth*height;
}//实现getPerimeter()方法,返回矩形的周长
publicdoublegetPerimeter(){return(width+height)*2;
}
}//定义一个类Triangle,实现Shape接口classTriangleimplementsShape{//定义三个私有属性a,b,c表示三角形的三条边长
privatedoublea;privatedoubleb;privatedoublec;//定义一个公有构造方法,用于初始化a,b,c,并检查是否满足三角形条件(任意两边之和大于第三边)
publicTriangle(doublea,doubleb,doublec)throwsException{if(a+b>ca+c>bb+c>a){
this.a=a;this.b=b;
this.c=c;
}else{
thrownewException("Invalidtriangle");
}
}//实现getArea()方法,返回三角形的面积(使用海伦公式)
publicdoublegetArea(){//计算半周长p
doublep=(a+b+c)/2;//计算并返回面积s(使用Math.sqrt()函数求平方根)
returnMath.sqrt(p*(p-a)*(p-b)*(p-c));
}//实现getPerimeter()方法,返回三角形的周长
publicdoublegetPerimeter(){returna+b+c;
}
}//定义一个类Square,继承Rectangle类,并重写构造方法和toString()方法classSquareextendsRectangle{//重写构造方法,在调用父类构造方法时传入相同的参数side作为width和height
publicSquare(doubleside){super(side,side);
}//重写toString()方法,在原来基础上加上"Square:"前缀,并只显示side属性而不显示width和height属性(使用String.format()函数格式化字符串)
@Override
publicStringtoString(){returnString.format("Square:side=%.2f",super.width);/*或者直接使用super.getPerimeter()/4作为side*/
/*returnString.format("Square:side=%.2f",super.getPerimeter()/4);*/
你说的java源代码是指编译成的class文件前的java文件。
当我们运行.java文件时,它会被系统编译成.class文件,例如Test.java编译之后就是Test.class,
源文件就是指Test.java文件,
一般部署项目时,有.class文件就可以发布运行了,但是如果想修改这个系统,.class是不能修改的,要有.java文件才能修改
java源文件的格式是text/html类型的,可以直接用记事本打开。编码可以是utf-8,也可以是其它类型的。后缀为.java
源文件编译后的字节码是以CAFEBABY开头的二进制文件。需要JVM才能读懂。后缀为.class
一般来说,一个类对应一个字节码文件,内部类编译后也会生成一个单独的字节码文件。字节码文件是以类名来命名(标识)的。
一些相关的字节码文件可以按照包结构打包成jar文件。jar文件和zip文件差不多。