Java关键字

一、static关键字

        1.static关键字是静态的【类名访问】
           static关键字可以修饰变量--被static修饰的变量是静态成员变量【类变量】
           static关键字可以修饰方法--被static修饰的方法是静态方法【类方法】

        2.本类中的构造方法和实例方法中访问静态成员变量和静态方法,默认类名.变量/方法,也可以this.变量/方法,类名和this可以省略
        3.本类中的静态方法中可以访问静态成员变量和静态方法,默认类名.变量/方法,类名可以省略
        4.静态方法中不能有this,也不能使用实例变量和实例方法。

public class JingTaiClass {
    /*
    static是静态的【类名访问】
        被static修饰的变量叫静态成员变量【类变量】
        被static修饰的方法叫静态方法【类方法】
     */
    //声明一个静态成员变量
    public static String name = "静态成员变量";
    //声明一个静态方法
    public static void staticMethod(){
        System.out.println("我是静态方法");
    }
    /*
    1.本类中的实例方法和构造方法,都可以访问静态成员变量和静态方法,
        默认类名.变量名称/静态方法,也可以用this.变量名称/方法,类名和this都可以省略
    2.静态方法可访问本类中的其他静态方法,用类名.其他静态方法,类名可以省略
    3.静态方法中不能出现this. 也不能访问实例变量和实例方法
     */
    //定义一个构造方法
    public JingTaiClass(){
        //在构造方法中访问静态成员变量
        System.out.println("构造方法,用类名访问本类中的静态成员变量===="+JingTaiClass.name);
        System.out.println("构造方法,用this.访问本类中的静态成员变量===="+this.name);
        System.out.println("构造方法,省略this./类名.访问本类中的静态成员变量===="+name);
        //在构造方法中访问静态方法
        JingTaiClass.staticMethod();
        this.staticMethod();
        staticMethod();
    }
    //定义一个实例方法
    public void shiLi(){
        //在实例方法中访问静态成员变量
        System.out.println("实例方法,用类名访问本类中的静态成员变量===="+JingTaiClass.name);
        System.out.println("实例方法,用this.访问本类中的静态成员变量===="+this.name);
        System.out.println("实例方法,省略this./类名.访问本类中的静态成员变量===="+name);
        //在实例方法中访问静态方法
        JingTaiClass.staticMethod();
        this.staticMethod();
        staticMethod();
    }
    //定义一个静态方法
    public static void jingTai(){
        //在静态方法中访问静态成员变量,静态方法中不能使用this
        System.out.println("实例方法,用类名访问本类中的静态成员变量===="+JingTaiClass.name);
        System.out.println("实例方法,省略类名.访问本类中的静态成员变量===="+name);
        //静态方法中访问其他静态方法
        JingTaiClass.staticMethod();
        staticMethod();
    }

}

        5.其他类的方法中,也可以访问静态成员变量和静态方法,默认用 类名.静态成员变量/静态方法,也可以用 对象.静态成员变量/静态方法 访问

public class JingTaiClass1 {
    //声明一个静态成员变量
    public static String name = "静态成员变量";
    //声明一个静态方法
    public static void staticMethod(){
        System.out.println("我是静态方法");
    }
}



public class JingTaiClass2 {
    //定义一个静态方法
    public static void jingTaiMethod(){
        //访问JingTaiClass1类中的静态成员变量
        System.out.println("用类名,访问JingTaiClass1类中的静态成员变量 === "+JingTaiClass1.name);
        //创建JingTaiClass对象
        JingTaiClass1 jingTaiClass1 = new JingTaiClass1();
        System.out.println("用对象,访问JingTaiClass1类中的静态成员变量 === "+jingTaiClass1.name);
        //用类名调用JingTaiClass1静态方法
        JingTaiClass1.staticMethod();
        //用对象访问JingTaiClass
        jingTaiClass1.staticMethod();
    }
}

        6.静态成员变量在同一个类的不同对象间,可以共享数据

public  class PuTongClass {
	//static关键字可以修饰变量--被static修饰的变量是静态成员变量【类变量】
	public  static  String  name="zhangsan";
}

public class TestMain {
	public static void main(String[] args) {
		PuTongClass  ptc1=new PuTongClass();
		ptc1.name="lisi";
		PuTongClass  ptc2=new PuTongClass();
		System.out.println("ptc2.name--"+ptc2.name); //lisi
	}
}

二、this关键字

        this关键字是指----当前类对象

        java程序 = 对象+消息

                   

        消息就是类中的方法和变量,而对象就是为了调用类中的方法和变量的,在同一个类中,我们要使用类中的变量和方法时,需要对象调用,我们应该new 构造方法()创建对象,然后使用创建的对象类调用类中的变量和方法,而this关键字出现类中的方法里,表示使用当前类默认的构造方法创建的当前类对象,当前类中this代替了new + 构造方法创建对象。

        总结:

                1.this--出现在哪一个类中表示这个类默认构造方法创建的对象
                2. this--表示当前类对象
                3.当前类的构造方法/实例方法中,表示这个类默认构造方法创建的对象,可以调用实例变量/方法,this可以省略

                4.静态方法中不能有this

                5.调用被局部变量隐藏的成员变量时,this不能省略。

三、super关键字

        super出现在子类中,表示父类对象/构造方法

        super关键字后面加( ),表示父类构造方法,若没有( ),表示父类对象

        用法总结:

                1.子类的构造方法中的第一行调用父类构造方法,父类构造方法super()/super([参数]),默认被省略了。
                2.子类的构造方法中调用父类实例变量和实例方法,super.变量/super.方法
                3.子类的实例方法中不能super()/super([参数])
                4.子类的实例方法中调用父类实例变量和实例方法,super.变量/super.方法
                5.子类的静态方法中不能super()/super([参数])
                6.子类的静态方法中不能用super调用父类实例变量和实例方法

四、final关键字

        1.final关键字可以修饰类,被修饰的类,不能被继承

        2.final关键字可以修饰变量,被修饰的变量,不能修改其变量值

        3.final关键字可以修饰方法,被修饰的方法,可以被继承,但不能被重写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值