public class MethodCall

{

public static void main(String[] args)

{

Test.sayStatic();

Test test = new Test();

test.sayInstance();

}

}

class Test

{

public static void sayStatic()

{

System.out.println("这是一个静态方法。");

}

public void sayInstance()

{

System.out.println("这是一个实例方法。");

}

}

我的理解:

public class Authorization {

public static final int MANAGER = 1;

public int manager;

public static void main(String[] args) {
Authorization A=new Authorization();
A.manager=1;
Test B=new Test(); System.out.println(B.canAccess(A.manager)+"不同类下非静态的实例方法");
//非静态方法必须通过实例调用,方法是Test类下的方法,所以用Test属性的实例来调用
System.out.println(Test.Access(A.MANAGER)+"不同类下静态的实例方法");
//静态的方法可以不需要实例来调用,可以直接用方法名调用,这里的Access方法不在Authorization类下,所以要写上类名注明来处
System.out.println(A.couldAccess(A.manager)+"同一个类下非静态的实例方法");
//这里的couldAccess方法在Authorization类下且为非静态的,所以要用Authorization属性的实例来调用
System.out.println(weAccess(A.manager)+"同一个类下静态的实例方法");
/*这里的weAccess方法也在Authorization类下且为静态,故不需要创建实例来调用,并且可以省略掉类名。
加上Authorization或者实例来调用也可以,最好是加上类名,以便使格式保持一致*/ //这里的大写的MANAGER这些变量可以看做是实例的属性,也可以直接作为常量使用,最好是直接作为常量使用
} public boolean couldAccess(int access) {
if (access == Authorization.MANAGER)
{
return true; } else
{
return false;
}
} public static boolean weAccess(int access) {
if (access == Authorization.MANAGER)
{
return true;
} else
{
return false;
} }

}

另一个类Test:

public class Test {

public boolean canAccess(int access) {

if (access == Authorization.MANAGER)

{

return true;

} else

{

return false;

}

}

public static boolean Access(int access) {
if (access == Authorization.MANAGER)
{
return true;
} else
{
return false;
} }

}

Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)的更多相关文章

  1. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架

    前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...

  2. Java中Date类型如何向前向后滚动时间,( 附工具类)

    Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...

  3. Java中“指针”的解释以及对“引用”的理解

    Java中"指针"的解释以及对"引用"的理解 初学Java面对对象编程,对于一些概念还真的有点难以理解,主要是因为不由自主的联系到以前学过的C语言知识,时不时的 ...

  4. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  5. Java内存的 静态方法和实例方法的区别及使用场景

    注意:变量指基本数据类型非对象,局部变量不能被静态修饰 1.(静态)成员变量存放在data segment区(数据区),字符串常量也存放在该区 2.非静态变量,new出来的对象存放在堆内存,所有局部变 ...

  6. java中synchronized 用在实例方法和对象方法上面的区别

    https://bijian1013.iteye.com/blog/1836575 在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法.也可以s ...

  7. Java | 基础归纳 | 静态方法与实例方法的区别

    静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...

  8. JSz中的静态方法和实例方法的分析

    我又回来了,最近忙着喝枸杞,没来写博客感觉很有负罪感,今晚我来写一点小小的知识点 可能我们在用形如Array.of()的方法时会产生一些疑问,为什么我们能不实例化直接使用Array上的of()方法呢, ...

  9. java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。

    首先先说一下类的加载,流程.只有明确了类这个对象的存在才可以更好的理解反射的原因,以及反射的机制. 一.  类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三 ...

随机推荐

  1. pycharm安装配置

    激活 教程https://blog.csdn.net/u014044812/article/details/78727496 推荐修改host文件的方法 配置 https://blog.csdn.ne ...

  2. 获取访问者IP

    在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效.     * 本方法先从Header中获取X-Real-IP,如果不存在再从X- ...

  3. java中捕获Oracle异常

    try{ } catch (Exception e){ String msg=.getMessage(): int index= msg. toUpperCase(). indexOf("O ...

  4. java,桶排序,冒泡排序,快速排序

    1.桶排序: 百度百科:桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里.每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排 ...

  5. selenium、UA池、ip池、scrapy-redis的综合应用案例

    案例: 网易新闻的爬取: https://news.163.com/ 爬取的内容为一下4大板块中的新闻内容 爬取: 特点: 动态加载数据  ,用 selenium 爬虫 1. 创建项目 scrapy ...

  6. Python --判断路径是否为目录或文件

    os.path.isdir( ), os.path.isfile(),os.listdir( ), os.walk( ) 参考网址:https://blog.csdn.net/xxn_723911/a ...

  7. Vant-Weapp小程序+商城案例

    功能还在进一步完善中,欢迎扫一扫提出宝贵意见! 详细信息可进群沟通:

  8. leetcode71

    这道题很简单,大约是词法分析器差不多的原理.但是我觉得看了别人简洁的代码后还是很有收获的.本人的冗余代码就不好意思放上来了,以下是别人的参考代码和值得借鉴的地方: class Solution { p ...

  9. 版本控制commit和update过程

    很早就使用了git.后来还管了一个VSS,但长时间以来git和VSS基本都当ftp使用,顶多知道其有回退旧版本的功能,但对“版本控制”这个词一直以来都没领会其内含. 比如我一直担心两个问题,一是拉取下 ...

  10. Cognos命名空间不可用

    1. 问题描述 启动Cognos失败,报错代码为0146. 2. 问题分析 namespace 配置有问题,检查configuration 3. 解决方案 如果检查不出问题,删除$COGNOS_HOM ...