我看着马士兵老师的视屏。讲到面向对象的时候,讲java的重载和内存的分析。
class Point {
private double x;
private double y;
Point(double x1, double y1) {
x = x1;
y = y1;
}
public double getX() { return x; }
public double getY() { return y; }
public void setX(double i) { x = i; }
public void setY(double i) { y = i; }
}
class Circle {
private Point o;
private double radius;
Circle(Point p, double r) {
o = p;
radius = r;
}
Circle(double r) {
o = new Point(0.0, 0.0);
radius = r;
}
boolean contains(Point p) {
double x = p.getX() - o.getX();
double y = p.getY() - o.getY();
if(x*x + y*y > radius * radius) return false;
else return true;
}
public void setO(double x, double y) {
o.setX(x);
o.setY(y);
}
public Point getO() { return o; }
public double getRadius() { return radius;}
public void setRadius(double r) { radius = r;}
public double area() {
return 3.14 * radius * radius;
}
}
public class TestCircle {
public static void main(String args[]) {
Circle c1 = new Circle(new Point(1.0,2.0), 2.0);
Circle c2 = new Circle(5.0);
System.out.println("c1:("+c1.getO().getX()+","
+c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()
+","+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());
c1.setO(5,6);
c2.setRadius(9.0);
System.out.println("c1:("+c1.getO().getX()+","
+c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()+","
+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());
Point p1 = new Point(5.2, 6.3);
System.out.println(c1.contains(p1));
System.out.println(c1.contains(new Point(10.0,9.0)));
}
}
我也照着视屏,画了出来内存的管理布局。
我的问题是,我的脑袋里有一种晕晕的感觉。感觉就是概念有一点弱,但又知道一点。
我知道我不可能这么快就掌握了,我的问题是复习好继续前行呢?
还是完全搞懂它呢?
其实我的心中已经有了答案,只想和大家一起交流一下?
|
|