zoukankan      html  css  js  c++  java
  • 【Java基础】几种简单的调用关系与方法

        直接上代码吧。

     1 class lesson4AB
     2 //同一个类下的public修饰的方法A,B可以相互调用
     3 {
     4     public void A()
     5     {
     6         B();//等价于this.B();
     7     }
     8     public void B()
     9     {
    10         A();//等价于this.A();
    11     }
    12 }
    13 class lesson4C
    14 //存在于不同类里的public修饰的方法C调用B
    15 {
    16     public void C()
    17     {
    18         lesson4AB lAB=new lesson4AB();
    19         lAB.B();
    20         //上下两种方法是等价的,都可以调用
    21         new lesson4AB().B();
    22     }
    23 }
    24 class lesson4DE
    25 //同一个类中的static方法与非静态方法相互调用。
    26 {
    27     public static void D()//用static修饰,属于类成员
    28     {
    29         //E();//错误: 无法从静态上下文中引用非静态 方法 E()
    30         //【通俗说是静态不引用非静态】
    31 
    32         //this.E();//错误: 无法从静态上下文中引用非静态 变量 this
    33         //【通俗说就是static和this不能共存】
    34 
    35         new lesson4DE().E();//通过
    36         //public void E()没用static修饰,属于对象,只能用对象来调用
    37     }
    38     public void E()//没用static修饰,属于对象
    39     {
    40         D();//等价于this.D();
    41         //对象可以调用类成员
    42     }
    43 }
    44 class lesson4 
    45 {
    46     public static void main(String[] args) 
    47     {
    48         System.out.println("May you happy!");
    49     }
    50 }

       


        对于上述代码第35行的详细解释:

        类方法不能调用非类方法,所以直接调用E()是错误的。但可以通过对象来调用,所以要new出来一个对象来调用它(非静态方法)。

        网上有一段这样的话,总结的挺好:

        类是一个抽象的概念,对象是一个实体。静态方法只能在内存中分配一个空间,不管多少次引用都指向那个空间,即常驻内存,是类对象,不是单个实例。而非静态方法是随对象产生的,每生成一个对象就新生成一个非静态方法,而且分配不同的空间。所以非静态成员必须依赖于对象。   (2014.10.31修改添加)


    本人小菜鸟一枚,以上为网上自学心得总结,如有错误敬请指出。新手童鞋多多交流,大神们多多指点。祝大家生活愉快。

  • 相关阅读:
    (原)Lazarus 异构平台下多层架构思路、DataSet转换核心代码
    (学)新版动态表单研发,阶段成果3
    (学) 如何将 Oracle 序列 重置 清零 How to reset an Oracle sequence
    (学)XtraReport WebService Print 报错
    (原)三星 i6410 刷机 短信 无法 保存 解决 办法
    (原) Devexpress 汉化包 制作工具、测试程序
    linux下网络配置
    apache自带ab.exe小工具使用小结
    Yii::app()用法小结
    PDO使用小结
  • 原文地址:https://www.cnblogs.com/zhubingqi/p/4063246.html
Copyright © 2011-2022 走看看