JAVA this关键字 static关键字 代码块

this关键字

this的作用: – this表示的是当前对象本身, 

– 更准确地说this代表当前对象的一个引用。

普通方法中使用this。

区分类成员属性和方法的形参. 

调用当前对象的其他方法(可以省略) 

位置:任意

构造方法中使用this

使用this来调用其它构造方法

位置:必须是第一条语句

this不能用于static方法

下面我们简单的写个代码来理解一下即可

ublic class Dog {
     private String name;
     private int age;
     private int weight;
    public Dog(){

    }
    public Dog(String name,int age,int weight){
        this.name=name;//如果不用this,那就是name=name这样的话我们就分不清楚属性和方法了
                       //但是我们又要用name,所以就要用到this,代表当前对象的一个引用(下同)
        this.age=age;
        this.weight=weight;
    }
}

static 关键字

在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量

它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!

可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”

static变量置于方法区中!

用static声明的方法为静态方法

不用对象直接用(类名.方法)就可以

在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。

静态方法不能以任何方式引用this和super关键字

静态属性的访问形式 

(1)对象名.属性 

(2)类名.属性

静态方法

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

静态变量不能定义在静态方法中
静态方法可以在非静态方法中进行调用
静态方法中不能直接调用非静态方法,换句话说可以间接调用非静态方法
静态方法中不允许出现this调用
一般工具类中的方法定义为static
 

public class PenguinTest {
        public static final String SEX_MALE="Q仔";//静态常量
    public static final String SEX_FEMALE="Q妹";//静态常量
        static String sex ;//静态变量
       public PenguinTest(){//一个空构造器

       }
        public PenguinTest(String sex){
            this.sex=sex;
        }

    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getSex(){
        return sex;
    }


    public static void main(String[] args) {
        PenguinTest pt =new PenguinTest();
        PenguinTest.sex="雄";//类名.属性直接调用并赋值
        System.out.println("name:"+PenguinTest.SEX_MALE+"\t"+"性别:"+PenguinTest.sex);
        PenguinTest.sex="雌";//类名.属性直接调用并赋值
        System.out.println("name:"+PenguinTest.SEX_FEMALE+"\t"+"性别:"+PenguinTest.sex);
    }
}

代码块

概念:使用”{}”括起来的一段代码 ▪

分类:根据位置可分类 

普通代码块直接在方法或语句中定义的代码块 

构造代码块直接写在类中的代码块 

静态代码块使用static声明的代码块 

静态初始化块

静态初始化块中不能访问非static成员。

public class TestStaticBlock {
static {
System.out.println("此处,可执行类的初始化工作!");
}
public static void main(String[] args) {
System.out.println("main方法中的第一句");
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值