美文网首页
Java类的静态成员,instanceof操作符

Java类的静态成员,instanceof操作符

作者: 你的益达233 | 来源:发表于2020-08-12 11:20 被阅读0次

为什么要有类的静态成员呢,就是有些属性和方法假设是每个类对象都有的,且不随某个对象改动而改动,就可以声明为静态成员

static关键字

  • 使用static关键字来实现类级别的变量和函数
  • 静态方法不能访问非静态成员,非静态方法可以访问静态成员

示例代码

public class Student {
    static String name = "张三";
    String score;
    
    //定义类静态方法,类可直接调用,类对象不能调用
    public static void printInfo(){
        System.out.println(name);
    }
    //定义普通方法,需要类对象才能调用,类不能直接调用
    public void report(){
        System.out.println("姓名:"+name+",分数:"+score);
    }

}

class TestDemo {
    public static void main(String[] args) {
        //类直接调用静态属性
        System.out.println(Student.name);
        //类直接调用静态方法
        Student.printInfo();
    
    }
}

instanceof操作符

用instanceof来检验xx对象是否是某个类的实例
示例代码:

public class Student extends Person{
static String name = "张三";
String score;

//定义类静态方法,类可直接调用,类对象不能调用
public static void printInfo(){
    System.out.println(name);
}
//定义普通方法,需要类对象才能调用,类不能直接调用
public void report(){
    System.out.println("姓名:"+name+",分数:"+score);
}

}

class Person{
    public void printAge(){
        System.out.println("年年18岁");
    }
}

class TestDemo {
    public static void main(String[] args) {
    
        Student student = new Student();
            //判断student是不是Person的实例,防止下一步强转出错
            if (student instanceof Person){
            Person p = (Person)student;
            p.printAge();
        }
    }
}

强转就是在对象前面加(类名)

相关文章

网友评论

      本文标题:Java类的静态成员,instanceof操作符

      本文链接:https://www.haomeiwen.com/subject/kzypdktx.html