Java4Andriod 从零学起 ---learn2

this  ; static  ; 继承


this关键字:

class Person{
    String name ;
    int age ;
    String address ;

    Person(){

    }

    Person(String name , int age){
        this.name = name;
        this.age = age;
        System.out.println("两个变量的构造函数");
    }

    Person(String name , int age , String address){
        this(name , age);  //this后面直接加括号,就是调用本类中的其他构造函数(必须处于第一个语句)
        this.address = address;
        System.out.println("三个变量的构造函数");
    }

    void talk(){
        String name = "Unknown";
        System.out.println("My name is "+ this.name ); //这里如果不加this的话,会和函数内部的局部变量冲突
    }//this用于使用成员变量
}


// 1. ->this.成员变量
// 2. ->this() 调用本类中的其他构造函数--必须处于第一个语句

对比: 与this相似的关键字  supper 关键字,  用法一样,只不过是调用父类中的构造函数和成员变量和方法


-----------------------------------

static :

//静态static

class Person2{
    static int i;  //静态变量属于类这个层次,而不是对象这个层次

    Person2(){
        System.out.println("-----"+i+"-----");
    }

    static void talk(){
        System.out.println("静态函数不能调用非静态变量,静态变量i为--"+i);
    }

    static{
        System.out.println("静态代码块");
    }

}

// 1.static变量--使用方法: 类.静态变量 ->类层次的变量,
// 2.static函数--  使用方法: 类.静态函数  || 静态函数不能调用非静态变量
// 2.static代码块-- 使用方法: static{代码}; || 静态代码块在装载类的时候执行

class Test2{
    public static void main(String args []){
        Person2 p1 = new Person2();
        Person2 p2 = new Person2();
        Person2.i = 10; //static 变量可以直接用  类名.变量名  调用
        System.out.println("p1="+p1.i+", p2="+p2.i);

        p1.i = 20;  //每个人都有改static变量的权利
        System.out.println("p1="+p1.i+", p2="+p2.i);

        Person2.i = 10;  //对于static型,可以直接用类名进行调用
        Person2.talk();
    }
}


---------------------------------------

继承:

extends关键字--继承父类的所有,并能有所添加

class Person3{
    String name ;
    int age;

    void eat(){
        System.out.println("i want to eat");
    }
    void introduce(){
        System.out.println("My name is "+this.name+" , i'm "+ this.age);
    }

}

class Student extends Person3{          //由extends进行继承
    int grade;

    void study(){
        System.out.println("i like study");
    }
}

//继承,对消除重复代码,和后期对类的修改很有好处
//这样来说,集合,和树形图就在设计类之前就非常重要了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值