java面向对象(上)

一、           java的面向对象设计

1.      在类中,使用this指代本类的属性和方法。这同php一样。

2.      在java中==比较的是地址,而equals比较的是值

3.      对象的比较问题,示例代码如下:

package org.demo;

class Person{

   private String name;

   private int age;

   public Person(String name,int age){

      this.setName(name);

      this.setAge(age);

   }

   public void setName(String name) {

      this.name = name;

   }

   public String getName() {

      return name;

   }

   public void setAge(int age) {

      this.age = age;

   }

   public int getAge() {

      return age;

   }

   public boolean compare(Person o){

      if(this==o) return true;

      if(this.age==o.age && this.name.equals(o.name)){

        return true;

      }else{

        return false;

      }

   }

}

public class ClassCompareDemo {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Person p1=new Person("guoxu",2);

      Person p2=new Person("guoxu",2);

      if(p1.compare(p2)){

        System.out.println("是同一个人");

      }else{

        System.out.println("不是同一个人");

      }

   }

}

4.对象数组

类名称对象数组名称=new类名称[size];

这样声明的每个对象都是null,必须为其实例化。

5.构造方法的私有化,实现单例类,示例代码如下:

class PrivateTest{

   static PrivateTest pr=new PrivateTest();

   private PrivateTest(){

      

   }

   public static PrivateTest getInstance(){

      return pr;

   }

   public String getHi(){

      return "this is function";

   }

}

public class PrivateClassDemo {

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      PrivateTest pr=PrivateTest.getInstance();

      System.out.println(pr.getHi());

   }

}

7.对于java中垃圾空间的释放和回收,由系统自动进行,如果你想手动释放,可以使用Systemt.gc();来释放

原文地址:https://www.cnblogs.com/itfenqing/p/4429559.html