现在的位置: 首页 > 综合 > 正文

面向对象上

2013年10月06日 ⁄ 综合 ⁄ 共 2609字 ⁄ 字号 评论关闭

package com.lean3;

class Person {

    /**
     * @param args
     */
    int age;//在类当中定义的变量,称为类成员变量
    
    void shout(){
        int age = 0;//在方法中定义的变量称为局部变量,局部变量必须赋上初始值
        //当局部变量与类成员变量名字相同时,调用的是局部变量,自动隐藏类的成员变量
        System.out.println("您的年龄"+age);
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person per  = new Person();
    }

}
/**
 * 类的意思是模板,把对象比作汽车的话,类就是设计图纸,当设计图纸变的话,设计的汽车也会跟着变
 * 当我们需要使用汽车的功能的话,必须要使用实实在在的汽车,用图纸不行,所以必须设计对象
 * 当一个创建一个对象的时候,会对各种类型进行初始化赋值,除了基本数据类以为,其他的都是引用类型
 * 区别:new的对象会初始化赋值
 *       方法中定义的变量必须手动赋值
 *       类中定义的变量,编译器会对它自动赋值
 * Person per = new Person();
 *       new Person会在堆内存中放置,开辟空间
 *       会声明一个变量per放入栈内存,然后把new person堆内存的地址赋值给栈里面的per,这样per就能访问Person
 *       引用变量就能代替new Person(),来访问类当中的变量(属性和方法)
 *    ================================================================================================
 *    对象的生命周期
 *  
 *    =================================================================================================
 *   第一种情况:    Person per1  = new Person();{
 *                    .........................
 *                }
 *       当per1离开大括号会失效,Person对象没有变量指向它,它就会成为垃圾
 *    第二种情况:
 *                Person per2  = new Person();{
 *                      .........................
 *                      
 *                      per2 = null;
 *                      当per2设置为空的时候,没有变量指向person,这个时候person也会变成垃圾
 *                }
 *     第三种情况:
 *                Person per3  = new Person();{
 *                      .........................
 *                      
 *                 Peroson   per4 = per3;
 *                 per3=null;现在per4和per3同时指向person ,当per3为空的时候,per4还在指向person,person不会变成垃圾
 *                      
 *                }                  
 * @author Administrator
 * ======================================================================
 * 对象的比较
 * ======================================================================
 * 当一个变量是指向数组或者指向一个对象,这个变量被称为引用类型
 * =================================================================
 * 类的设计要求:
 *
 * 一个类就是一个小模块,对于外面只是返回一个值,封装里面的方法
 * 强类聚:功能尽量在类的内部完成,不要让外面干预,
 * 低耦合:提供给外部尽量少的方法调用
 * 总统指挥一支军队作战
 * 静态方法不属于任何对象
 * ==============================================================
 * 构造方法:
 * public person(){
 * }
 * 没有返回类型
 * 当在运行构造方法的时候,类当中首先执行的不是给构造方法赋值,而是先给类的成员变量有显示值的先赋值,然后在给构造方法里面的
 * 值赋值。
 * =================================================
 * this既然表示当前类的对象,那this放到哪里堆吗?
 * 什么情况下必须用this:
 * class A{
 *      B b;
 *      public void add(){
 *         b = new B(new A());
 *      }
 * }
 * class B{
 *     A a;
 *     public B(A a){
 *     this.a = a;
 *     }
 *    
 * }
 *  还有一种情况:
 *  person(){
 *  
 *  }
 *  person(String name){
 *     this.name=name;
 *  }
 *  person(String name,int age){
 *      this(name);这里就可以省略this.name=name;好处是当这个代码有N多行的时候,这样写简便
 *      this.age=age;
 *  }


抱歉!评论已关闭.