zoukankan      html  css  js  c++  java
  • 21 static 静态的使用及特点

    /*
    * static:他是一个关键字,用来修饰成员变量和成员方法
    * static特点:
    * 被所有的对象所共享
    * 可以直接使用类名来调用
    * 静态所修饰的成员加载优先于对象,随着类的加载而加载

    注意事项:

    静态方法:
    可以调用静态的成员变量
    可以调用静态的成员方法
    只能在静态的方法中调用静态的成员

    不可以调用非静态的成员变量
    不可以调用非静态的成员方法

    非静态方法:
    可以调用静态的成员变量

    */

    public class StaticDemo {
        public static void main(String[] args) {
            //Person.graduateFrom = "传智"; //static修饰的成员可以直接使用类名来调用。静态所修饰的成员加载优先于对象,随着类的加载而加载
    Person p = new Person(); p.age = 18; p.name = "xiaoming"; p.graduateFrom = "cz"; p.speak(); Person p1 = new Person(); p1.age = 20; p1.name = "xiaohong"; // p1.graduateFrom = "cz"; //被所有的对象所共享 p1.speak(); } } class Person { String name; int age; // String graduateFrom; static String graduateFrom;//static修饰的成员可以直接使用类名来调用。静态所修饰的成员加载优先于对象,随着类的加载而加载
    public void speak() { System.out.println(name + "----" + graduateFrom); } }

      打印结果

     

    public class StaticDemo2 {
        public static void main(String[] args) {
            Student.graduateFrom = "cz";
            Student.study();//由于方法和参数都是静态的可以直接用类名调用
    // Student.method(); Student s = new Student(); s.method(); s.eat(); } } class Student { String name; int age; static String graduateFrom; public static void study() { System.out.println(graduateFrom); //静态方法不能调用非静态的方法和变量 // System.out.println(name); // method(); sleep(); } public static void sleep() { System.out.println("sleep"); } public void eat() { //非静态的方法可以调用静态的方法和变量 System.out.println(graduateFrom); System.out.println(name);
         sleep(); }
    public void method() { System.out.println("method"); } }

    打印结果

  • 相关阅读:
    机器学习-正则化方法
    机器学习-回归算法
    机器学习算法一
    机器学习概览
    tensorflow机器学习初接触
    tensorflow决策树初接触
    tensorflow语法
    tensorflow第一个例子简单实用
    Hyperledger Fabric 1.0架构入门
    结合《XXXX需求征集系统》分析可用性和可修改性战术
  • 原文地址:https://www.cnblogs.com/longesang/p/11131276.html
Copyright © 2011-2022 走看看