真的光看不练假把式,编程主要还是打代码,就像我班这位小姐姐一样,看的不少,视频也看了,书也读了,就是写不出程序来。
木的办法,只能小白我来帮忙了!!!
创建GeometricObject类,该类有一个color属性,filled是是否填充,在这个测试中没有更改该属性值,默认为false,还有一个创建日期的函数。
public class GeometricObject {private String color = "white";private boolean filled;// java 日期private java.util.Date dateCreated;// 无参构造protected GeometricObject() {dateCreated = new java.util.Date();}// 含参构造protected GeometricObject(String color, boolean filled) {dateCreated = new java.util.Date();this.color = color;this.filled = filled;}// 私有属性的get和set方法public String getColor() {return color;}public void setColor(String color) {this.color = color;}// boolean 类型的get方法用ispublic boolean isFilled() {return filled;}public void setFilled(boolean filled) {this.filled = filled;}// 获取时间的方法public java.util.Date getDateCreated() {return dateCreated;}// 输出字符串,创建时间,形状的颜色,是否填充public String toString() {return "创建于" + dateCreated + "\n颜色是: " + color + " 是否填充: " + filled;}
}
不会java怎么面试?Circle类,继承几何类,有radius这个属性,可以根据该属性计算圆的面积、周长、直径。
因为我们使用含参和无参构造了两个函数,所以测试的时候可以直接传参或先用set方法更改参数再调用其他方法。
package a11;public class Circle extends GeometricObject {private double radius;// 无参构造和含参构造public Circle() {}public Circle(double radius) {this.radius = radius;}public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}// 计算圆面积的方法public double getArea() {return radius * radius * Math.PI;}// 计算直径的方法public double getDiameter() {return 2 * radius;}// 计算圆周长的方法public double getPerimeter() {return 2 * radius * Math.PI;}public void printCircle() {System.out.println("The circle is created " + getDateCreated() +" and the radius is " + radius);}
}
测试类1,这里直接使用了含参的方法给circle的传入半径这个参数,也可以通过无参方法更改半径。
package a11;
public class TestCircleRectangle {public static void main(String[] args) {Circle circle = new Circle(1);System.out.println("这个圆" + circle.toString());System.out.println("颜色是:" + circle.getColor());System.out.println("半径为:" + circle.getRadius());System.out.println("面积为:" + circle.getArea());System.out.println("直径为: " + circle.getDiameter());}
}
输出
这个圆创建于Sun Nov 22 08:38:41 CST 2020
颜色是: white
是否填充: false
颜色是:white
半径为:1.0
面积为:3.141592653589793
直径为: 2.0
这里用半径set方法修改了半径为3
public class TestCircleRectangle {public static void main(String[] args) {Circle circle = new Circle();circle.setRadius(3);System.out.println("这个圆" + circle.toString());System.out.println("颜色是:" + circle.getColor());System.out.println("半径为:" + circle.getRadius());System.out.println("面积为:" + circle.getArea());System.out.println("直径为: " + circle.getDiameter());}
}
这个圆创建于Sun Nov 22 08:41:39 CST 2020
颜色是: white
是否填充:false
颜色是:white
半径为:3.0
面积为:28.274333882308138
直径为: 6.0
java模拟面试、注:
在任何情况下,构造一个类的实例时,将会调用沿着继承链的所有父类的构造方法。当构造一个子类的对象时,该子类会再完成自己的任务之前,会先调用的父类的方法。如果父类继承于其他类,那么父类的构造方法优惠先调用他的非的构造方法。
public class Faculty extends Employee{public static void main(String[] args){new Faculty();}public Faculty(){System.out.println("我是Faculty类,我继承了Employee类");}
}
class Person {public Person(){System.out.println("我是person父类");}
}
class Employee extends Person{public Employee(){this("调用Employee的自身方法");System.out.println("我是Employee类,我继承了Person类");}public Employee(String s){System.out.println(s);}
}
上面的代码创建了三个类,由于main函数是该程序的主入口,先编译main方法。main方法中,new Faculty()调用Faculty的无参构造方法。由于Faculty继承了Employee,所以会先调用Employee的无参构造方法,该无参构造方法又先调用了Employee的第二个构造方法。由于Employee是Person的子类,所以在Employee的第二个构造方法中所有的语句执行之前,先调用person的无参构造方法。
综上,先输出person,再Employee的第二个含参构造方法,再一个无参构造方法,最后是Faculty的输出。
我是person父类
调用Employee的自身方法
我是Employee类,我继承了Person类
我是Faculty类,我继承了Employee类
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态