案例1:this是属于某个具体对象的而不是某个类的,当你创建一个对象时,这个this自动带过来了
this用法的使用:
只能在内定义中使用
public class Demo_1
{
public static void main(String[]ags){
Person p=new Person("韩顺平",32);
p.show();
}
}
class Person
{
String name;
int age;
public Person (String name, int age ){
this.name =name; //这里的this是指实例一个对象的成员变量的
this.age=age; //而不是这个类的,是一个对象的
}
public void show(){
System.out.println("名字是:"+this.name+" "+"年龄是:"+this.age);
}
}
================================================================
案例2:引用传递和值传递的一个很好的实例
(1)两个对象可以共享一个引用
(2)当一个人改变引用传递的时候(dog),另一个人也会改变
public class Demo_1
{
public static void main(String[]ags){
Dog dog1=new Dog("虎子",3);
Person p1=new Person("韩顺平",32, dog1);
Person p2=new Person("马士兵",42, dog1);
p1.show();
p2.show();
p1.dog.show();
}
}
class Person
{
String name;
int age;
Dog dog;//引用类型
public Person (String name, int age,Dog dog ){ //Dog dog传递引用
this.name =name; //这里的this是指实例一个对象的成员变量的
this.age=age; //而不是这个类的,是一个对象的
this.dog=dog;
}
public void show(){
System.out.println("名字是:"+this.name+" "+"年龄是:"+this.age);
}
}
class Dog
{
String name;
int age;
public Dog(String name, int age){
this.name=name;
this.age=age;
}
public void show(){
System.out.println("狗的名字是:"+this.name);
}
}
========================================================
案例三:静态变量即类变量的用法示例
定义一个静态变量来统计小孩的个数
tota是静态的,即为共有的变量,属于每一个对象的,
所以方便统计每个对象中的小孩的个数
public class Demo_1
{
public static void main(String[]ags){
Child c1=new Child ("蒙蒙",5);
Child c2=new Child("宝宝",6);
c1.show();
c2.show();
System.out.println("共有"+c1.total+"小孩加入");
}
}
class Child
{
String name;
int age;
static int total=0;
public Child(String name,int age){
this.name=name;
this.age=age;
}
public void show(){
total++;
}
}