Java-面向对象的基本特征及理解

/ * 面向对象三个特征:封装,继承,多态
 * 开发就是找对象使用,没有对象,就创建一个对象
 * 找对象,建立对象,使用对象,维护对象的关系
 * 类:对现实生活事物的描述
 * 对象:事物,实实在在存在的个体
 * 抽取对象中共性的部分(如名字,年龄,性别等),映射到java中,描述就是class定义的类
 * 具体对象就是对应java在堆内用new建立实体
 * 属性对应类中的变量,行为对应类中的函数(方法)
 * 定义类就是在描述事物,就是在定义属性和行为,属性和行为共同成为类中的成员(成员变量和函数)
 * 成员变量作用于整个类中,局部变量作用于函数中或语句中
 * 成员变量存在堆内存中,因对象存在而存在;局部变量存在栈内存中
 */

public class Car {
    //汽车颜色
    String color = "红色";
    //汽车轮胎数
    int num = 4;
    //运行行为
    void run(){
        System.out.println("轮子数目:"+num);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //生产汽车,就是在java中通过new操作符来完成
        //其实就是在堆内存产生一个实体
        Car c = new Car();//c就是一个类类型变量,注:类类型变量指向对象
        
        //需求:改变汽车颜色,在java指挥方式是:对象.对象成员
        System.out.println("模型原来的颜色:"+c.color);
        c.color = "blue";
        System.out.println("新车1个性化改造后的颜色:"+c.color);
        c.run();
        
        Car c1 = c;
        System.out.println("新车1给新车2传递的颜色:"+c1.color);
        c1.color = "green";
        System.out.println("新车2的颜色:"+c1.color);
        System.out.println("新车1的颜色"+c.color);
        //c的颜色是c1的颜色,说明两人共用一个地址,c是把自己的地址赋给了c1
        
        //生成一个匿名对象
        new Car().num = 5;
        new Car().color = "yellow";
        new Car().run();
        //匿名对象使用方式一:当对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化
        //如果对一个对象进行多个成员调用,必须给这个对象起个名字
        //匿名对象使用方式二:可以将匿名对象作为实际参数进行传递

        Car q = new Car();
        show(q);
        //两句合并
        show(new Car());

    }
    //对车进行改装
    public static void show(Car c){
        c.num = 3;
        c.color = "red";
        c.run();
    }

}

猜你喜欢

转载自blog.csdn.net/Lydia233/article/details/102252461
今日推荐