
问题是:你说要创建一个人(接口),然后里面有方法对人的属性进行赋值?这怎么可能呢,接口是没有成员变量(属性)的,怎么能赋值?接口里只能有常量。
第二题可以答一下:
package pillar
public class Pillar { private Geometry buttom
private double height
public Pillar() {
// TODO Auto-generated constructor stub
}
public Pillar(Geometry button,double height){
this.buttom = button
this.height = height
}
public double getVolume(){
return this.buttom.getArea()*height
}
public Geometry getButtom() {
return buttom
}
public void setButtom(Geometry buttom) {
this.buttom = buttom
}
public double getHeight() {
return height
}
public void setHeight(double height) {
this.height = height
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar
public interface Geometry { double getArea()
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar
public class Circle implements Geometry { private double r
public Circle() {
// TODO Auto-generated constructor stub
}
public Circle(double r) {
this.r = r
}
public double getArea() { return Math.PI*r*r
}
public double getR() {
return r
}
public void setR(double r) {
this.r = r
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar
public class Rectangle implements Geometry { private double width
private double height
public Rectangle() {
// TODO Auto-generated constructor stub
}
public Rectangle(double width, double height) {
this.width = width
this.height = height
}
public double getArea() { return this.width*this.height
}
public double getWidth() {
return width
}
public void setWidth(double width) {
this.width = width
}
public double getHeight() {
return height
}
public void setHeight(double height) {
this.height = height
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar
public class TestPillar {
/** * @param args
*/
public static void main(String[] args) {
Circle c = new Circle(5)
Rectangle r = new Rectangle(3,4)
Pillar p1 = new Pillar(c,6)
Pillar p2 = new Pillar(r,6)
System.out.println("圆的体积:"+p1.getVolume()+"\t矩形的体积:"+p2.getVolume())
}
}
按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test
import java.io.Serializable
public class Student implements Serializable{
private static final long serialVersionUID = 1L
private String no
private String name
private double score
public Student(){}
public Student(String no,String name,double score){
this.no=no
this.name=name
this.score=score
}
public String getNo(){ return no}
public void setNo(String no){ this.no=no}
public String getName(){ return name}
public void setName(String name){ this.name=name}
public double getScore(){ return score}
public void setScore(double score){ this.score=score}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score
}
public static double getAvg(Student[] sArray){
double sum=0,avg
for(int i=0i<sArray.lengthi++){
sum=sum+sArray[i].getScore()
}
avg=sum/sArray.length
return avg
}
}
Test.java文件代码如下
package user.java.test
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5]
sArray[0]=new Student("001","张三",89.5)
sArray[1]=new Student("002","李四",82.5)
sArray[2]=new Student("003","王五",93)
sArray[3]=new Student("004","赵六",73.5)
sArray[4]=new Student("005","孙七",66)
System.out.println("这些学生的平均分:"+Student.getAvg(sArray))
for(int i=0i<sArray.lengthi++){
System.out.println(sArray[i].toString())
}
}
}
1-4:has-a的关系、contains-a的关系、is-a的关系;
“班级”与“学生”是has-a的关系;
“学生”与“大学生”是is-a的关系。
1-5:
正确,把两个看做是类,“清华大学”包含了“大学”的全部成员,“大学”能接受的信息,“清华大学”一样能接受到。
1-6:
过程:面向对象的分析、面向对象的设计、面向对象的实现;
5个层次:对象-类层、静态属性层、服务层、结构层 、主题层;
引入了:界面管理、任务管理、数据管理。
PS:其实我也是JAVA新手,不知答得对不对,希望这些能对你有帮助,呵呵。。。。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)