1. 程式人生 > >大數據<javaSE + Linux精英實訓班>_day_08

大數據<javaSE + Linux精英實訓班>_day_08

boolean 等待 小汽車 執行 負責 正在 AR [] day

1:面向對象->面向對象和面向過程的思想

        都是我們編寫程序的一種方式。
        
        面向過程:這種程序設計方式,遇到事情思考:"我該怎麽做",然後一步步實現的過程。
                        典型的c語言就是。
        面向對象:這種程序設計方式,遇到事情思考:"我改讓誰來做",然後那個誰就是對象。
                      他要怎麽做這件事是他自己的事,反正到最後合力把事做好就可以了。
                      找不到人,就創建這個人。java語言就是。

  2:面向對象->代碼實現


  大象裝冰箱總共分幾步
  開門 把大象裝進去(存儲大象-> java的功能) 關門

  分析:
  具體存在哪些事物:冰箱、大象
  java語言就是描述現實生活中事物的
  
  class 冰箱{
  開門(){

   }
  關門(){

   }
  存儲大象(大象 d){

   }
   }

   class 大象(){

   }

   public static void main(String[] args){
   冰箱 XX = new 冰箱(); // 冰箱就真的存在了
   大象 YY = new 大象(); // 大象也存在了

   // 調用功能
   XX.開門();
   XX.存儲大象(YY);
   XX.關門();
   }

  3:面向對象->局部變量與成員變量的區別



package com.itstar.demo01;

public class Car {
    // Car的組成部分:屬性和方法
    // 需要駕駛它
    
    // 顏色
    String color;
    // 輪子
    int count;
    
    // 定義跑的功能
    public void run() {
        System.out.println("小汽車正在跑" + "..." + color + ".." + count);
        
    }
}
package com.itstar.demo01;

public class
CarTest { public static void main(String[] args) { // 創建Car類的變量 Car c = new Car(); c.color = "red"; c.count = 4; c.run(); } }
package om.itstar.demon02;

public class Car {
    String color;
    int count;
    
    public void run() {
        System.out.println("小汽車正在跑" + color + "..." + count);
    }
}
package om.itstar.demon02;
/*
 * 成員變量與局部變量的區別:
 *         
 *         1、定義位置上的區別
 *             成員變量,定義在類中,方法外
 *             局部變量,方法內,語句內
 *         2、作用域不同
 *             成員變量,作用範圍是整個類
 *             局部變量,方法內,語句內
 *         3、默認值不同
 *             成員變量有自己的默認值的
 *             局部變量沒有默認值,不賦值不能使用
 *         4、內存位置不同
 *             成員變量,跟隨對象進入堆內存內進行存儲
 *             局部變量,跟隨自己的方法進入棧內存
 *         5、生命周期不同
 *             成員變量,跟隨對象,在堆內存中存儲。內存等待JVM清理,生命周期較長
 *             局部變量,跟隨方法,方法執行完要出棧。生命周期較短。
 * 
 */
public class CarTest {

}
package com.itstar.demon03;

public class Person {
    String name;
}
package com.itstar.demon03;

public class PersonTest {
    public static void main(String[] args) {
        int a = 1;
        function(a);
        System.out.println(a); // 1
    }
    
    public static void function(Person p) {
        p.name = "韋桂金";
    }
    
    public static void function(int a) {
        a += 3;
    }
}
package com.itstar.demon04;
    /*
     * 描述人的這個事物:
     *         屬性:姓名  年齡
     *         方法:說話
     * 
     *     新的關鍵字:private 私有的屬於成員修飾符 不能修飾局部變量
     *             被private修飾,只能在自己的本類中使用->權限修飾
     * 
     *     對私有的變量,提供了公共的訪問方式:方法
     */
public class Person {
    // 人的姓名,成員變量
    String name;
    // 人的年齡,成員變量 ->安全問題 負責(不會導致程序掛掉)但是違背了現實的情況
    private int age;
    
    // 變量age被我們私有,提供方法讓外部類使用
    public void setAge(int a) {
        // 對a進行範圍的限制
        if(a < 0 || a > 200) {
            age = 18;
        }else {
            age = a;
        }
    }
    
    // 定義方法,對變量age獲取值使用
    public int getAge() {
        return age;
    }
    
    // 定義人說話的功能
    public void speak() {
        System.out.println(name + "..." + age + "在說話中");
    }
}
package com.itstar.demon04;
/*
 *  創建對象,對象調用自定義類的屬性和方法
 */
public class PersonTest {
    public static void main(String[] args) {
        // 創建person類對象
        Person p = new Person();
        // 對成員變量進行賦值
        p.setAge(42);
        p.name = "huern";
        
        p.speak();
        
        System.out.println(p.getAge());
    }
}
package com.itstar.demo05;

import javax.swing.plaf.synth.SynthSeparatorUI;

/*
 *     類描述人:
 *         屬性:姓名    年齡
 *         方法:說話
 */
public class Person {
    private String name;
    private int age;
    
    // get當中不用加this因為沒有同名變量
    public String getName() {
        return name;
    }
    // 成員變量name  age的賦值
    public void setName(String name) {
        this.name = name; // 增加閱讀性,把局部變量賦值給他成員變量
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    public void spek() { 
        String name = "歐文 ";
        int age = 51;
        
        //System.out.println(this);
        System.out.println("人在說話" + this.name + "..." + this.age);
    }
    
}
package com.itstar.demo05;
/*
 * 測試類
 */
public class TestPerson {
    public static void main(String[] args) {
        // 創建對象
        Person p = new Person();
        // 調用set方法,對成員變量賦值
        p.setAge(18);
        p.setName("李總");
        p.spek();
        }
}
package om.itstar.demo06;

public class Person {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    public boolean compare(Person p) {
        // p1.age > p2.age?  this是誰?誰調用的就是誰p1
        return this.age > p.age;
    }
}
package om.itstar.demo06;

public class TestPerson {
    public static void main(String[] args) {
        //  測試Person類中的年齡比較功能
        
        Person p1 = new Person();
        Person p2 = new Person();
        
        p1.setAge(20);
        p2.setAge(15);
        
        boolean b = p1.compare(p2);
        System.out.println(b);
    }
}

大數據<javaSE + Linux精英實訓班>_day_08