java中的类与对象

类实际上定义的是一种数据类型,这种数据类型就是对象类型,所以我们可以使用类名称来申明对象变量。

申明对象变量后还不能直接使用对象,需要用new运算符创建实体对象后才能使用对象。

class point(){ 

 

   int x,y; 

 

   point(){//构造函数 与类名同名 

 

   x=5; 

 

   y=5; 

 

   } 

 

    

 

   void output(){ 

 

   System.out.printin(x); 

 

   System.out.printin(y); 

 

   } 

 
 
 
 

   public static void main(String[] args) 

 

   { 

 

   point ft;//申明对象变量 

 

   ft=new point();//创建对象实体 

 

   ft.x=3; 

 

   ft.y=4; 

 

   ft.output(); 

 

  } 

 

  }

构造方法主要为类的对象初始化对象的状态

我们不能直接调用后再方法,必须通过new关键字来自动调用,从而创建类的实例。

当构造函数中自己定义好了构造函数后,java编译器就不会提供缺省的构造函数

new关键字的用作:

为对象分配内存空间

引起对象构造方法的调用

为对象返回一个引用

各种数据类型的默认值

0  false  '0'  null

this是实例化后的对象本身;this与调用它的对象建立联系,pt 与 pt2 分别调用this时,this分别代表pt或pt2.同时由于用new创建的pt和pt2,所以每一个都有各自的内存空间。且在构造函数中调用this其他的构造方法时需要放在最前面

对于静态的方法不需要产生类对象  直接使用类名.方法直接调用,静态的方法属于类本身不属于对象的方法。

静态的方法static不能调用非静态的变量。静态的变量属于类本身不属于某一个对象

非静态的方法是可以调用静态的方法和变量的。

实例方法不是静态方法

定义常量时用final double  PI=3.1415;必须初始化或者在构造函数中初始化

继承

class Animal{ 

 

   int weight,height; 

 

   void breath(){ 

 

   System.out.printin("animal breath"); 

 

   } 

 

  } 

 

   class fish extends Animal{ 

 

    

 

  } 

 
 
 
 

  class Intergration{ 

 

   public static void main(String[] args) 

 

   Aniaml an=new Animal(); 

 

   fish fi=new fish(); 

 

   an.breath(); 

 

   fi.breath(); 

 

  }

super 可以使用super访问父类被子类隐藏的变量或者覆盖的方法

instanceof 判断一个对象是否是某一个类实例对象

if(an  instanceof animal )