this关键字、static关键字

this关键字
this指当前类对象(指由当前操作类创建的对象)
 一定感受出来,this是根据程序运行中,动态指向某个对象的。生活中你在说话的时候,不同时场合不同时间,指的这不是一个东西
public class book {
    String bookname;
    double price;
    public  book(){}
    public  book(String bookname,double price){
        this.bookname=bookname;
        this.price=price;
    }
    public void show(){
        System.out.println(bookname+"价格是:"+price);
    }
}
public class test {
    public static void main(String[] args) {
        book b1=new book();
        b1.bookname="西游记";
        b1.price=39;
        b1.show();
        book b2=new book("三国演义",45);
        b2.show();
    }
}
注意事项:
  1. this可以指代变量    变量名可以区分的情况下,this可以省略io
  1. this还可以调用普通方法方法,这种情况大部分都省略
  1. this还可以构造调用方法 ,此时this不能省略
        调用无参构造方法语法:this()
        调用有参构造方法:this(“abc”)
public class boy {
    public boy(){
        this("asd");//
        System.out.println("无参方法运行了");
    }
    public boy(String name){
        System.out.println("有参方法运行了");
    }
}
this调用构造方法的注意事项 
  1. this调用构造方法,必须位于第一句
  2. this调用构造方法,必须在构造方法中,普通方法不可以调用
案例判断输出
public class boy {
    public boy() {
        this("asd");
        System.out.println("无参方法运行了");
    }
    public boy(String name) {
        this("zhangsan ", 21);
        System.out.println("有参方法运行了" + name);
    }
    public boy(String name, int age) {
        name = "张";
        age = 20;
        System.out.println("两个参数的方法运行了" + name + age);
    }
}
public class test {
    public static void main(String[] args) {
        boy b=new boy();
    }
}
static关键字
static:静态 ,被static修饰的 东西 属于类,而不属于某个具体的对象。多个对象之间可以实现数据的共享,从而提高heap区内存的利用率
东西:
static 不能修饰public的类
修饰方法:静态方法,类直接调用 
类名直接调用静态方法
Dog.show();
总结static的用法:
  1. 各个对象共享的属性,可以使用static修饰
  2. 工具类的方法,一般使用static修饰,方便调用,如Arrays、Math
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值