java

1、除了基本类型外的类型都叫做引用类型,基本类型包括整数型,布尔型,浮动型,字符型

2、引用类型和基本类型有着巨大的区别,当声明一个int  i=0时,系统会马上给这个i分配一个内存空间(在栈内存里面分配一小块区域用来装数字0),里面装着一个值为0,以后使用i这个名字马上就可以访问这个内存空间里面的值,这就是基本数据类型,所以基础类型就只占一块内存。基础类型之外的类型全都叫引用类型,我们定义一个Mouse  m,这个m就是一个引用类型的数据。引用类型有什么重要的特征——引用类型占2块内存。我们定义好这个类之后,需要使用new关键字把这个类的对象实例化出来,也就是真真正正造出一个对象出来才能使用这个对象。

3、局部变量与全局变量:方法中声明的变量为局部变量,类中声明的为全局变量

4、类和方法的关系

 

 (1)基础类型:假设这里有一个类C,我们定义了一个类class C,然后在这个类里面定义了两个成员变量: int  i和int  j。定义好了这两个成员变量以后,我们写了一个main()方法(public static void main(Strng[] args)),程序开始执行。

(2)引用类型:第一句我们写了 C c1 = new C(),这句的代码是我们相当于在堆内存里创建了一个对象,同时创建了这个对象的引用对象c1,放在栈内存;c1这个引用对象指向堆中一大块内存,这一大块内存里面装着new出来的那个对象。

构造函数:用于初始化属性,方法名跟类名必须保持一致,没有返回值

5、静态方法:

在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
(1)定义一个静态方法
public class hasStaticMethod{
//定义一个静态方法
public static void callMe(){
  System.out.println("This is a static method.");
}
}

(2)两种不同的调用方式,都有效

public class invokeStaticMethod{
  public static void main(String args[]){
  hasStaticMethod.callMe();  //不创建对象,直接调用静态方法    
  hasStaticMethod oa = new hasStaticMethod();   //创建一个对象
  oa.callMe();      //利用对象来调用静态方法
}
} 

实例方法:

静态方法只能访问静态成员,实例方法可以访问静态和实例成员
class accessMember{
private static int sa; //定义一个静态成员变量
private int ia;  //定义一个实例成员变量
//下面定义一个静态方法
static void statMethod(){
  int i = 0;    //正确,可以有自己的局部变量
    sa = 10;   //正确,静态方法可以使用静态变量
  otherStat();  //正确,可以调用静态方法
  ia = 20;   //错误,不能使用实例变量
  insMethod();  //错误,不能调用实例方法
}
static void otherStat(){} 
//下面定义一个实例方法 
void  insMethod(){
  int i = 0;    //正确,可以有自己的局部变量
  sa = 15;    //正确,可以使用静态变量
  ia = 30;    //正确,可以使用实例变量
  statMethod();   //正确,可以调用静态方法
}
} 

静态方法的另外一种写法

public  class  classname{
      public  classname   methodname(){
         /////
   }  
}

 

posted on 2020-09-09 14:39  ChanXM  阅读(160)  评论(0)    收藏  举报

导航