java学习之类-this,类变量,类方法

this  java虚拟机会给每个对象分配this,代表当前对象。(this是属于对象的,不属于类   this不能在类定义的外部使用,只能在类定义的方法中使用)主要作用是区分不同对象的成员属性

public class Demo
{
      public static void main(String []args)
      {
             Dog dog1 = new Dog(2,"大黄");

             Person p1 = new Person(dog1,23,"赵本山");
             Person p2 = new Person(dog1,24,"小沈阳");
             p1.showInfo();//赵本山     
             p1.dog.showInfo();//大黄
             
             Child ch1 = new Child(3, “妞妞”);            
             ch1.joinGame();
             Child ch2 = new Child(4,"小小");            
             ch2.joinGame();</p><p>            
             System.out.println("共有=" + ch2.total);//为2
      }
}
class Child
{      
     int age;      
     String name;
    //total是静态变量,因此它可以被任何一个对象访问
     static int total = 0;    
     public Child(int age, String name)
    {
        this.age =  age;           
        this.age = name;
    }
     public void joinGame()
     {
         total++;        
         System.out.println("有一个小孩加入了");
     }
}
class  Person
{  
     // 成员变量
      int age;
      String name;
      Dog dog;//引用类型
      //构造方法
      public  Person(Dog dog,  int age, String name)
      {
             this.age = age;
             this.name = name; 
             this.dog = dog;
      }
     //成员方法
      public void showInfo()
      {
           System.out.println("人名是:"+this.name);
      }
}
class Dog
{
     int age;
     String name;
     public Dog(int age,String name)
     {
          this.age = age;
          this.name = name;
     }
     public void showInfo()
     {
          System.out.println("狗名是:"+this.name);
     }
}

什么是类变量

类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量

如何定义类变量

访问修饰符  static  数据类型  变量名;

如何访问类变量?

类名.类变量名 或者 对象名.类变量名

class Stu
{
      int age;
      String name;
      int fee;
      static int totalFee;
      public  Stu(int age, String name, int fee)
      {
             this.age = age;
             this.name = name;
             totalFee += fee; 
      }
     //回总学费 这是一个类方法(静态方法)
     // java中规则:类变量原则上用类方法去访问
     public static int getTotalFee()
     {
          //agg++;  错误  类方法中不能访问非类变量  但是反过来可以 普通方法中可以访问类变量
          return totalFee;
     }
}


什么事类方法

类方法是属于所有对象实例的,公共的方法,其形式如下:

访问修饰符  static 数据返回类型  方法名(){}

注意:类方法中不能访问非静态变量(类变量)

使用:类名.类方法名 或者 对象名.类方法名



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值