• Static关键字


    static 来修饰方法 : 有点类似OC中的类方法 :

    1.只能用类名来调用

    2.类中是不允许访问属性。

    1. 访问方式:

    1.可以通过对象来访问

    对象.方法名();

    2.可以通过类名来访问

           .方法名();

      推荐使用类名调用。

    2. 作用:

                 1.用来修饰成员变量

                 2.用来修饰方法

    3. Static修饰方法的使用注意点:

    1.静态方法可以用对象和类名调用。非静态方法只能用对象来调用。

    2.静态方法是可以访问静态的成员变量,不能够访问非静态的成员变 量。非静态方法中可以访问任何成员变量。

    原因:有可能静态方法被调用了,但是对象还没有被创建出来。

    3.静态方法可以直接访问静态方法,但是不能访问非静态方法.非静态方法是可以访问静态方 法。

    原因:有可能静态方法被调用了,但是对象还没有被创建出来 ,非静态方法只能由对象调用。

             如果对象被创建出来,静态方法早就存在内存中了。

    4.静态方法中是不允许出现this关键字和super关键字

    this : 表示一个方法调用者对象。

    可能对象没有被创建出来。

    //特点 :

    静态的数据早于非静态的数据存在内存中。

    4. 什么情况下使用static来修饰方法:

    当一个方法不需要直接放味非静态数据,这个时候就可以用static修饰 (定义工具类)

    代码实例一:

    class Student{
    
     
    
     
    
    String name; // 非静态的成员变量
    
    static String country; // 静态的成员变量
    
     
    
    public Student(String name){
    
    this.name = name;
    
    }  
    
     
    
    //公有的方法
    
    public void study(){
    
    eat(); //非静态是可以调用静态的方法。
    
     
    
    System.out.println(name+"正在学生");
    
    }
    
     
    
    //用static 来修饰吃饭的方法
    
    //结构上就是在public后面多了一个static
    
    //静态方法
    
    public static void eat (){
    
     
    
    //study(); 不允许调用非静态方法。
    
    sleep();
    
     
    
    System.out.println(country+"正在吃饭");
    
    }
    
     
    
    //静态方法
    
    public static void sleep (){
    
     
    
    System.out.println("学生在睡觉");
    
    }
    
    }
    
     
    
    class Demo4 {
    
     
    
    //静态方法
    
    public static void main(String[] args){
    
     
    
     
    
    Student s = new Student("张三");
    
    s.study();
    
    s.country = "中国";
    
    //调用吃饭的方法
    
    //Student.eat();
    
    s.eat();
    
     
    
    }

    代码实例二:

    class Student{
    
     
    
     
    
    String name; // 非静态的成员变量
    
    static String country; // 静态的成员变量
    
     
    
    public Student(String name){
    
    this.name = name;
    
    }  
    
     
    
    //静态代码块
    
    //编译的java.class文件被使用的时候就执行了.
    
    static{
    
    System.out.println("我是静态代码块");
    
    }
    
     
    
    //公有的方法
    
    public void study(){
    
     
    
    eat(); //非静态是可以调用静态的方法。
    
     
    
    System.out.println(name+"正在学生");
    
    }
    
     
    
    //用static 来修饰吃饭的方法
    
    //结构上就是在public后面多了一个static
    
    //静态方法
    
    public static void eat (){
    
     
    
    //study(); 不允许调用非静态方法。
    
    sleep();
    
     
    
    System.out.println(country+"正在吃饭");
    
    }
    
     
    
    //静态方法
    
    public static void sleep (){
    
     
    
    System.out.println("学生在睡觉");
    
    }
    
    }
     
    
    class Demo5 {
    
     
    //静态方法
    
    public static void main(String[] args){
    
     
    
    Student.eat();
    
     
    
    /*
    
    Student s = new Student("张三");
    
    s.study();
    
    s.country = "中国";
    
    //调用吃饭的方法
    
    //Student.eat();
    
    s.eat();
    
    */
    
     
    
    }
    
    }
  • 相关阅读:
    Silverlight2 控件布局(笔记)
    Silverligth动态控件例子
    Silverlight中的DataGrid绑定数据
    SilverLight学习笔记对象数据绑定
    得到DataGrid的某一行列的值(转载)
    Silverlight数据绑定简单例子
    SilverLight学习笔记XML操作
    SilverLight学习笔记本地(客户端)数据存储
    SilverLight学习笔记WebClient异步请求
    SilverLight学习笔记泛型数据绑定
  • 原文地址:https://www.cnblogs.com/binzhihua-666/p/6103766.html
Copyright © 2020-2023  润新知