zoukankan      html  css  js  c++  java
  • 2020/7/3 java 面向对象 封装

    面向对象

    l  面向对象思维方式是一种更符合人们思考习惯的思想

    l  面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。

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

    类与对象

    1、先按照名词提炼问题领域中的对象

    2、对对象进行描述,其实就是在明确对象中应该具备的属性和功能

    3、通过new的方式就可以创建该事物的具体对象

    4、通过该对象调用它以后的功能。

    类与对象区别   类是对某一类事务的抽象描述  而对象用于表示显示中该类事务的个体

    局部变量  和 成员变量   区别

    定义的位置不同:  定义在类中的是成员变量   定义在方法或{}语句中的是局部变量

    在内存中的位置不同:成员变量在堆的对象里  局部变量 在栈的方法里

    声明周期不同   

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失(gc垃圾回收机制)

    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    初始化不同  

    成员变量因为在堆内存中,所有默认的初始化值

    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

    封装

    隐藏实现细节 对外提供可以访问的方式

    私有private    不能直接调 需要使用方法

    成员变量和局部变量同名问题

    可以在成员变量名前面加上this.来区别成员变量和局部变量

    class Person {
        private int age;
        private String name;
        
        public void speak() {
            this.name = "小强";
            this.age = 18;
            System.out.println("name=" + this.name + ",age=" + this.age);
        }
    }
    
    class PersonDemo {
        public static void main(String[] args) {
            Person p = new Person();
            p.speak();
        }
    }
  • 相关阅读:
    93. Restore IP Addresses
    mysql复制那点事(2)-binlog组提交源码分析和实现
    49. Group Anagrams
    43. Multiply Strings
    66. Plus One
    100. Same Tree
    MySQL 加锁处理分析
    mysql死锁问题分析
    数据库事务的四大特性以及事务的隔离级别
    MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
  • 原文地址:https://www.cnblogs.com/cst123/p/13231218.html
Copyright © 2011-2022 走看看