1-1面向对象的特点
使用类封装对象
例:
class 人{
眼睛;//人具有属性眼睛
鼻子;//人具有属性鼻子
耳朵;//人具有属性耳朵
嘴巴;//人具有属性嘴巴
说话(嘴巴){ //人的一个方法叫说话,使用嘴巴
speakOut;
}
}
人 张三;//创建一个人叫张三
张三说话(嘴巴);//调用张三这个人的一个方法:说话
这段代码很好的表现了面向对象封装的特点,更符合人类的思维编程。
1-2全局变量与局部变量
全局变量全局可以调用,局部变量只在局部方法里有效,至于赋值可以理解为局部变量等级更高
1-3 组合与复用
这段刚刚看书上讲的意思当你创建了一个对象以后,另一个对象可以引用它,以及它里面所定义的一切方法什么的,我理解也不是太深,这里做了一个圆锥引用圆的面积的代码
// main()方法
public static void main(String[] args) {
// TODO Auto-generated method stub
Circle circle=new Circle();
Circular circular=new Circular();
double radius; //底面圆的半径
double height; //圆锥的高
double volme; //圆锥的体积
System.out.println("请输入您要求的圆锥的底面圆的半径:");
Scanner reader=new Scanner(System.in);
radius=reader.nextDouble();
circle.setRadius(radius); //键盘输入半径
System.out.println("请您输入您要求的圆锥的高:");
height=reader.nextDouble(); //键盘输入高
circular.setHeight(height);
circular.setBottom(circle); //这步比较重要了,是把上面设置的circle的属性都传给bottom,没有这步我查了半小时也不知道怎么回事
volme=circular.getVolme();
System.out.println("我是圆, 我的内存地址是:"+circle);
System.out.println("我是圆锥的底面圆,我的内存地址是:"+circular.bottom);
System.out.println("您的圆锥的体积是:"+volme);
}
//圆的类
public class Circle { //圆类
double radius; //半径
double area; //圆的面积
double getArea(){ //求圆的面积
area=3.14*radius*radius;
return area;
}
double getRadius(){
return radius;
}
void setRadius(double radius){ //设置半径
this.radius=radius;
}
}
圆锥的类
public class Circular { //圆锥类
Circle bottom;
double height; //高
double volme; //体积
void setHeight(double height){
this.height=height;
}
void setBottom(Circle circle){
bottom=circle; //cicle的复用
}
double getBottomRadius(){ //完善bottom的属性,拿到radius
return bottom.getRadius();
}
void setBottomRadius(double radius){
bottom.setRadius(radius);
}
double getVolme(){
volme=bottom.getArea()*height/3.0; //Circle类型的bottom获得circle的radius和area
return volme;
}
}
可以看到这里圆跟圆锥的底面圆的内存是一样的,因为它就是复用了圆