码迷,mamicode.com
首页 > 编程语言 > 详细

大数据<javaSE + Linux精英实训班>_day_08

时间:2018-03-24 19:27:31      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:赋值   ...   大数   栈内存   类对象   面向过程   代码实现   类的属性   取值   

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

标签:赋值   ...   大数   栈内存   类对象   面向过程   代码实现   类的属性   取值   

原文地址:https://www.cnblogs.com/guijin/p/8640760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!