• 方法的定义(实例与静态)


     1 /*
     2     关于方法来说,什么时候定义为实例方法?什么时候定义为静态方法?
     3         有没有参考标准。
     4 
     5         此方法一般都是描述了一个行为,如果说该行为必须由对象去触发。
     6         那么该方法定义为实例方法。
     7 
     8         参考标准:
     9             当这个方法体当中,直接访问了实例变量,这个方法一定是实例方法。
    10 
    11             以后开发中,大部分情况下,如果是工具类的话,工具类当中的方法
    12             一般都是静态的。(静态方法有一个优点,是不需要new对象,直接采用类名
    13             调用,极其方便。工具类就是为了方便,所以工具类中的方法一般都是static的。)
    14         工具类就是为了方便编程而开发的一些类。
    17     
    18     类 = 属性 + 方法
    19         属性描述的是:状态
    20         方法描述的是:行为动作
    21     
    22     一个方法代表了一个动作。
    23 
    24     什么时候方法定义为实例方法?
    25         张三考试,得分90
    26         李四考试,得分100
    27         不同的对象参加考试的结果不同。
    28         我们可以认定“考试”这个行为是与对象相关的行为。
    29         建议将“考试”这个方法定义为实例方法。
    30 */
    31 public class StaticTest05{
    32     public static void main(String[] args){
    33         User u = new User();
    34         System.out.println(u.getId()); //0
    35 
    36         //User.getId();
    37 
    38         User.printName2();
    39 
    40         User x = new User();
    41         x.printName1();
    42 
    43         // 访问T的id怎么访问
    44         /*
    45         T t = new T();
    46         System.out.println(t.id);
    47         */
    48 
    49         User y = new User();
    50         y.printName1();
    51     }
    52 }
    53 
    54 class T{
    55     // 实例变量
    56     int id;
    57 }
    58 
    59 // 我之前怎么说的?实例变量访问的语法机制是什么?
    60 // 语法:引用.实例变量名
    61 class User{
    62 
    63     // 实例变量,需要对象
    64     private int id;
    65 
    66     // 实例变量
    67     private String name; // 首先先分析的是,这个name是对象级别的,一个对象一份。
    68 
    69     //分析这个方法应该定义为实例方法还是静态方法呢?
    70     // 打印用户的名字这样的一个方法。
    71     public void printName1(){ 
    72         System.out.println(name);
    73     }
    74 
    75     public static void printName2(){
    76         // 输出的是一个对象的name
    77         //System.out.println(name);
    78     }
    79 
    80     public void setId(int i){
    81         id = i;
    82     }
    83 
    84     public int getId(){
    85         return id;
    86     }
    87 
    88     /*
    89     public static int getId(){
    90         return id;
    91     }
    92     */
    93 }
  • 相关阅读:
    学姐学长们的测试
    loli的测试——搜索
    搜索-2
    单调队列
    乱搞题 (不知道怎么分类)
    对拍及数据生成
    搜索-1
    矩形重叠
    拼写单词
    java笔记
  • 原文地址:https://www.cnblogs.com/HeSC980513/p/13152563.html
Copyright © 2020-2023  润新知