zoukankan      html  css  js  c++  java
  • java中静态方法的使用

    JAVA中使用静态方法 

    编程时我们心里一定要清楚静态方法和类的非静态方法方法的区别: 
    最根本区别从编译角度来说吧: 
    1) 静态(static)方法是编译时直接加载加载到内存中(离cpu最近的一块内存区域也称为堆栈),比如程序的public static main(args []){}方法,你能实例话吗? 
    静态方法不能被实例化,也不允许被实例化! 

    因此你可以通过“类名”+“.”+“静态方法的名()”来调用 

    2)非静态方法(类的非静态方法)通过关键字 “new” 字来实例化一个对象(object),这个对象放在内存的另一块区域堆(heap)中。 
    也就是说编译时,非静态方法必须先实例化类的一个对象,通过“对象名”+“非静态方法名()”来调用, 

    或者是“对象引用(句柄)”+“.”+“静态方法的名()”; 

    Java代码  收藏代码
    1. public class Student {  
    2.   
    3.     private String name;  
    4.       
    5.     //下面两个方法是类的非静态方法封装 属性name,看一下在 main()如何调用   
    6.     public void set(String init_name) {  
    7.         this.name = init_name;  
    8.     }  
    9.       
    10.     public String get() {  
    11.         return this.name;  
    12.     }  
    13.       
    14.     //构造函数  
    15.     public Student() {}  
    16.     public Student(String init_name) {  
    17.         this.name = init_name;  
    18.     }  
    19.       
    20.     //下面是一个静态方法,看一下它在main()中如何调用  
    21.     public static void PrintClassName() {  
    22.         System.out.println("该类的名字:Student");  
    23.     }  
    24. }  



    Java代码  收藏代码
      1. public class MainClass {  
      2.   
      3.     public static void main(String[] args) {  
      4.         //先调用静态方法,不需要实例化对象   
      5.         Student.PrintClassName();  
      6.   
      7.         //现在调用非静态方法,一定要实例化对象   
      8.         Student stu1 = new Student();  
      9.         stu1.set("John");  
      10.         String stu1_name = stu1.get();  
      11.     }  
      12. }  
  • 相关阅读:
    LINUX内核参数调优集锦
    性能测试基础-开门篇3(LR常用函数介绍)
    高并发WEB服务的演变
    数据链路层学习之LLDP
    Win8.1 Metro应用无法联网终极解决方法
    Win8.1 Metro应用无法联网,提示“无法加载此页面”解决方法!(看红色字体部分)
    SecureCrt脚本(三)二级对象之Screen详解
    SecureCrt自动化
    Python数据类型一:数字与运算符
    高阶函数
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5040386.html
Copyright © 2011-2022 走看看