• 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();
        }
    
    }
  • 相关阅读:
    linux之vi编辑器的基础命令
    redis的安装部署启动停止<17.3.21已更新>
    关于Ubuntu的ssh免密登录
    Git(管理修改)
    Git(时光机-版本回退)
    Git(查看修改记录)
    Git(创建版本库)
    集中式VS分布式
    Git(介绍和安装)
    Javascript基础知识
  • 原文地址:https://www.cnblogs.com/bxl-1016/p/10538969.html
Copyright © 2020-2023  润新知