Java0-笔记8

package com.atguigu.java;
/*
 * 一、Java面向对象学习的三条主线:(第4-6章)
 * 1.Java类及类的成员:属性、方法、构造器;代码块、内部类
 * 
 * 2.面向对象的三大特征:封装性、继承性、多态性、(抽象性)
 * 
 * 3.其它关键字:this、super、static、final、abstract、interface、package、import等
 * 
 * “大处着眼,小处着手”
 * 
 * 
 * 二、“人把大象装进冰箱”
 * 
 * 1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
 * 
 * ① 把冰箱门打开
 * ② 抬起大象,塞进冰箱
 * ② 把冰箱门关闭
 * 
 * 2.面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
 * 
 * 人{
 *         打开(冰箱){
 *             冰箱.开开();
 *         }
 * 
 *         抬起(大象){
 *             大象.进入(冰箱);
 *         }
 * 
 *         关闭(冰箱){
 *             冰箱.闭合();
 *         }
 * 
 * }
 * 
 * 
 * 冰箱{
 *         开开(){}
 *         闭合(){}
 * }
 * 
 * 大象{
 *         进入(冰箱){
 *         }
 * }
 * 
 * 三、面向对象的两个要素:
 * 类:对一类事物的描述,是抽象的、概念上的定义
 * 对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)
 * >面向对象程序设计的重点是类的设计
 * >设计类,就是设计类的成员。
 * 
 */
public class OOPTest {

}
package com.atguigu.java;
/*
 * 一、设计类,其实就是设计类的成员
 * 
 *  属性 = 成员变量 = field = 域、字段
 *  方法 = 成员方法 = 函数 = method
 * 
 *  创建类的对象 = 类的实例化 = 实例化类
 * 
 * 二、类和对象的使用(面向对象思想落地的实现):
 *  1.创建类,设计类的成员
 *  2.创建类的对象
 *  3.通过“对象.属性”或“对象.方法”调用对象的结构
 *  
 * 三、如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)
 *   意味着:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。
 *   
 * 四、对象的内存解析
 */
//测试类
public class PersonTest {
    public static void main(String[] args) {
        //2. 创建Person类的对象
        Person p1 = new Person();
        //Scanner scanner = new Scanner(System.in);
        
        //调用对象的结构:属性、方法
        //调用属性:“对象.属性”
        p1.name = "Tom";
        p1.isMale = true;
        System.out.println(p1.name);
        
        //调用方法:“对象.方法”
        p1.eat();
        p1.sleep();
        p1.talk("Chinese");
        
        //*******************************
        Person p2 = new Person();
        System.out.println(p2.name);//null
        System.out.println(p2.isMale);
        //*******************************
        //将p1变量保存的对象地址值赋给p3,导致p1和p3指向了堆空间中的同一个对象实体。
        Person p3 = p1;
        System.out.println(p3.name);//Tom
        
        p3.age = 10;
        System.out.println(p1.age);//10
        
    }
}

//1.创建类,设计类的成员
class Person{
    
    //属性
    String name;
    int age = 1;
    boolean isMale;
    
    //方法
    public void eat(){
        System.out.println("人可以吃饭");
    }
    
    public void sleep(){
        System.out.println("人可以睡觉");
    }
    
    public void talk(String language){
        System.out.println("人可以说话,使用的是:" + language);
    }
    
}

 

 

猜你喜欢

转载自www.cnblogs.com/LXL616/p/10865424.html