static关键字

  • 在封装类中一般不会使用static来描述特征属性和行为方法,如果描述则这些特征和行为是固有的。

  • 说明:1.用static描述的属性和方法均为静态的,可以直接用类名调用

2.当一个类的成员变量由static来描述的时候,其变量为类变量(静态变量),与对象无关。

3.往封装类的静态成员变量设置值的时候均会用到封装类。

  • 特点:当一个类的成员变量和成员方法由static描述时,其可以直接由类名调用(也可以由对象调用)

//Person02.sayHello();  普通的成员方法是不能够直接由类名调用,必须由对象名调用
  • 一般在工具类当中的成员变量和方法中会使用到static关键字,还有一些链接数据库的类,产生操作数据库对象的类中会用到static关键字。

/**
 *  描述客观事物:人
 */
public class Person2 {
​
    //特征
    //固有特征,跟类有关
    //眼睛个数,每个人都一样,则用static关键字修饰
    //静态变量,类变量
    static int eyeNum = 2;
​
    //特征
    //非固有特征,跟对象有关
    //成员变量
    //姓名
    String name;
    //身高cm
    double height;
    //体重kg
    double weight;
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    public double getHeight() {
        return height;
    }
​
    public void setHeight(double height) {
        this.height = height;
    }
​
    public double getWeight() {
        return weight;
    }
​
    public void setWeight(double weight) {
        this.weight = weight;
    }
​
    //固有行为,跟类有关
    //使用static关键字修饰,静态方法
    //吃饭,每个人都一样
    public static void eat(){
        //静态方法中只能使用静态变量
      //  System.out.println("姓名为:"+name);
        System.out.println("眼睛为"+eyeNum+"个的人正在吃饭。。");
    }
​
    //说你好,非固有行为
    public void sayHello(){
        System.out.println("hello, my name is "+name+",height is "+height+"cm,weight is"+weight+"kg");
    }
​
}
​
​
public class Person2Test1 {
​
    public static void main(String[] args) {
        //通过Person2类来创建李四对象
        Person2 person1 = new Person2();
        //给特征属性成员变量设置值
        person1.setName("李四");
        person1.setHeight(174.5);
        person1.setWeight(68);
​
        //打印这个对象的特征
        System.out.println("李四的眼睛个数:"+Person2.eyeNum);  //可以用类名或者对象名调用
        System.out.println("李四的姓名:"+person1.getName());
        System.out.println("李四的身高:"+person1.getHeight()+"cm");
        System.out.println("李四的体重:"+person1.getWeight()+"kg");
​
        //执行行为
        Person2.eat();  //吃饭,固有静态的,可以用类名或者对象名调用
        person1.sayHello();  //说你好,非固有的
​
    }
}
  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值