java学习笔记7(面向对象)

一、

面向过程的思想: 遇到问题,想,我该怎么解决这个问题,然后一步一步解决

面向对象的思想:遇到一件事,思考,我该让谁去做,至于他怎么做,不需要我考虑,只要最后做好

实例:我们要组装一台电脑

    面向过程:上网上查询各种硬件参数性价比去商城观察问价,找到最适合的,买回来各种硬件自己组装。

    面向对象:找一个组装电脑的专家,告诉他我需要一台电脑,组装之后给我

二、

  面向对象的好处:

    更符合人们的思考习惯

    面向对象更像是一个指挥者,面向过程像一个执行者

    面向对象的思维方式可以将复杂的问题简单化

    世界万物皆是对象

三、

  类和对象的关系:

    类:对某一类事物的抽象描述

    对象:用于表示现实中该事物的个体

    类用于描述多个对象的共同特征,相当于一个模板

    对象是通过类创建出来的,一个类可以对应多个对象  

四 、

  成员变量和局部变量的区别

    作用域

      成员变量:作用范围是整个类

      局部变量:作用于一个方法内,或语句内  

    作用上的区别

      成员变量:随着对象的创建而存在,随着对象的消失而消失

      局部变量:在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出自 己的作用域那么马上从内存中消失

    初始值

      成员变量是有默认的初始值

      局部变量没有默认值  必须先初始化才能使用

五、

  面向对象的三大特征

    封装

    继承

    多态   

   封装的表现:     方法就是一个封装体,类也是一个封装

   封装的特点:

      提高了代码的复用性

      隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用

      提高了安全性

六、

     private关键字

   建一个人的类:

public class Person {
    String name;
    int  age;
    //定义一个跑的方法
    public void run(){
        System.out.println(age+"岁的"+name+"在跑");
    }
}
public class Test {
    public static void main(String[] args) {
        Person  p=new Person();
        p.name="小明";
        p.age=1000;
        p.run();
    }
}

这个结果中,1000岁的小明在跑,这个年龄肯定不符合,为了解决这个问题,我们就想,如果不能修改age变量,这个问题就可以解决,于是有了private关键字,

被private修饰的成员只能在自己的类中使用

可以对私有的成员,提供公共的访问方式,方法

public class Person {
    // 人的姓名年龄,成员变量
    String name;
    private int age;

    // 定义方法,对age赋值
    public void setAge(int a) {
        if (a < 0 || a > 100) {
            age = 20;
        } else {
            age = a;
        }
    }
    
    //定义方法,获取age
    public int getAge(){
        return age;
    }
    
    // 说话功能
    public void speak() {
        System.out.println(age + "岁的" + name + "在说话");
    }

}
public class PersonTest {

    public static void main(String[] args) {
        Person p = new Person();
        p.setAge(80);
        System.out.println(p.getAge());
        p.name = "张三";
        p.speak();
    }

}

猜你喜欢

转载自www.cnblogs.com/bxl-1016/p/10538969.html