`

java面向对象

阅读更多

    1、类是抽象的,如同设计汽车的图纸。

     对象是类的实例,是实实在在的个体,是一辆具体的汽车。

   面向对象的重点是类的设计,而不是对象的设计。

  2、类的定义,数据是属性;函数是方法。

   

class Person{

    int age;//成员变量,会自动初始化
    void shout(){
       int age=60;//局部变量会让成员变量隐藏。
      System.out.println("my age is"+age);
     }
}

 3、对象的使用

    

public void main(String[] args){//虽然在类里面,但是不是类的成员
      Person p1=new Person();
     Person p2=new Person();
     p1.age=20;
p1.shout();
p2.shout();//让p1,p2叫一下  
也可以让一个不知道名字的家伙叫一下,new Person().shout();
}

 会输出 两个60

 

4、对象的生命周期

如果一个引用变量无效了(程序运行结束,或者赋值为null),它指向的对象也会变成垃圾。

5、对象的比较

“==”和equals()

String str1=new String("ab");

String str2=new String("ab");

String str3=str1;

对比一个双胞胎,equals是比较长相,==是比较是不是同一个人。

6、数组内容的比较

Array.equals(a,b),a,b为数组。

 

 7、类的封装性

     人的身高不能随便的改变,而是只能通过自身的新陈代谢来完成。

    为了保证类的封装性,成员变量设为私有的。

class Person{

    private int age;//成员变量,会自动初始化
    void shout(){
       int age=60;//局部变量会让成员变量隐藏。
      System.out.println("my age is"+age);
     }
public void setAge(int x){
       if(age<0)
          return;
    age=x;    
       }
public int getAge(){
         return age; 
         }
}

 保证可维护性,和数据的正确性。类就相当于模块,

模块的设计遵循强内聚、弱耦合(总统给一个军队命令,军队去执行具体的作战命令)。私有对象可以被类的其他方法访问。

 

 

8、构造函数(用于初始化)

     a、无返回值,和类名一致。

     b、随对象创建而执行,人出身时要洗澡,在人的类里,加上要洗澡的构造方法

     c、如果在类里面定义了构造函数、编译器就不会产生不带参数的构造函数。

     如果依旧使用new Person();则会报错:“没找到这个构造函数。”

 

9、this 是什么

    a、每个成员方法内部,都有一个this引用变量,指向调用这个方法的对象。



 

  • 大小: 66.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics