类、对象(java基础知识六)

1.Java约定俗成

java约定俗成
    1,类名接口名  一个单词首字母大写,多个单词每个单词首字母都大写
    2,方法名和变量名 一个单词全部小写,多个单词从第二个单词首字母大写
    建议:如果能用英语尽量用英语,实在不行用汉语拼音
    代码书写格式
    1,大括号成对写,左大括号在该行代码的最后,右大括号在该行代码的下边,并与该行代码对齐
    2,左大括号前面有空格
    3,并排语句中间都需要加空格
    4,语句块或者方法中间加空行

2.面向对象的特点

面向对象思想特点
    * a:是一种更符合我们思想习惯的思想
    * b:可以将复杂的事情简单化
    * c:将我们从执行者变成了指挥者
        * 角色发生了转换
* A:面向对象开发
    * 就是不断的创建对象,使用对象,指挥对象做事情。
* B:面向对象设计
    * 其实就是在管理和维护对象之间的关系。
* C:面向对象特征
    * 封装(encapsulation)
    * 继承(inheritance)
    * 多态(polymorphism)

3.类、对象

* A:我们学习编程是为了什么
    * 为了把我们日常生活中实物用学习语言描述出来
* B:我们如何描述现实世界事物
    * 属性    就是该事物的描述信息(事物身上的名词)
    * 行为    就是该事物能够做什么(事物身上的动词)
* C:Java中最基本的单位是类,Java中用class描述事物也是如此
    * 成员变量    就是事物的属性
    * 成员方法    就是事物的行为
* D:定义类其实就是定义类的成员(成员变量和成员方法)
    * a:成员变量    和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
    * b:成员方法    和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
* E:类和对象的概念
    * a:类:是一组相关的属性和行为的集合
    * b:对象:是该类事物的具体体现
    * c:举例:
        * 类     学生
        * 对象    具体的某个学生就是一个对象

4.案例演示

* A:学生事物
* B:学生类
* C:案例演示
    * 属性:姓名,年龄,性别
    * 行为:学习,睡觉
    
*
    
        class Student {
            String name;
            int age;
            char gender;
            public void study() {
                System.out.println(name+"在睡觉");
            }
            public void sleep() {
                System.out.println(name+ "在学习");
            }
        }    
** 属性:品牌(brand)价格(price)
    * 行为:打电话(call),发信息(sendMessage)玩游戏(playGame)
        class Phone {
            String brand;
            int price;
            char color;
            public void call() {
                System.out.println(brand+"打电话");
            }
            public void sendMessage() {
                System.out.println(brand+ "发短信");
            }
            public void playGame() {
                System.out.println("打游戏"); 
            }
        }     

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

* A:在类中的位置不同
    * 成员变量:在类中方法外
    * 局部变量:在方法定义中或者方法声明上(参数)
* B:在内存中的位置不同
    * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
    * 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
* C:生命周期不同
    * 成员变量:随着对象的创建而存在,随着对象的消失而消失
    * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
* D:初始化值不同
    * 成员变量:有默认初始化值
    * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
    
* 注意事项:
    * 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

6.方法的形式参数或返回值是类名的时候如何调用
  * A:方法的参数是类名
      * 如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
  * B:方法的返回值是类名
      * 如果你看到了一个方法的返回值是类名,这里其实返回的是该类对象

7.匿名对象的概述和应用

* A:什么是匿名对象
    * 没有名字的对象 
* B:匿名对象应用场景
    * a:调用方法,仅仅只调用一次的时候。
        * 那么,这种匿名调用有什么好处吗?
            * 节省代码 
        * 注意:调用多次的时候,不适合。匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。
    * b:匿名对象可以作为实际参数传递

8.封装的概述

* A:封装概述
    * 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
* B:封装好处
    * 隐藏实现细节,提供公共的访问方式
    * 提高了代码的复用性
    * 提高安全性。
* C:封装原则
    * 将不需要对外提供的内容都隐藏起来。
    * 把属性隐藏,提供公共方法对其访问。

9.private关键字的概述和特点

* A:人类赋值年龄的问题
* B:private关键字特点
    * a:是一个权限修饰符(最小的)
    * b:可以修饰成员变量和成员方法
    * c:被其修饰的成员只能在本类中被访问
* C:案例演示
    * 封装和private的应用:
    * A:把成员变量用private修饰
    * B:提高对应的getXxx()----获得,和setXxx()----修改,有参数,方法
    * private仅仅是封装的一种体现形式,不能说封装就是私有

10. this关键字特点
    * 方法被哪个对象调用,this就代表那个对象, 
    * 可以用来区分成员变量和局部变量重名的。

原文地址:https://www.cnblogs.com/wanghui1316/p/5427418.html