发现一有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,个有一个main函数,谁在前先执行谁!

//Detergent.java
//Class:Detergent,Cleanser

public class Detergent extends Cleanser{
    //change a method
    public void scrub(){
        append(" Detergent.scrub()");
        super.scrub();//Call base-class version
    }
   
    //Add method to the interface:
    public void foam(){
        append(" foam()");
    }
   
    public static void main(String[] args){
        Detergent x=new Detergent();       
        x.dilute();
        x.apply();
        x.scrub();
        x.foam();
        System.out.println(x);
        System.out.println("Testing base-class:");
        Cleanser.main(args);
    }   
}

class Cleanser{
    private String s=new String("Cleanser");
   
    public void append(String a){
        s+=a;
    }
   
    public void dilute(){
        append(" dilute()");
    }
   
    public void apply(){
        append(" apply()");
    }
   
    public void scrub(){
        append(" scrub()");
    }
   
    public String toString(){
        return s;
    }
   
    public static void main(String[] args){
        Cleanser x=new Cleanser();
        x.dilute();
        x.apply();
        x.scrub();
       
        System.out.println(x);       
    }
}

结果如下:
Cleanser dilute() applay() Detergent.scrub() scrub() foam()
Testing base-class:
Cleanser dilute() applay() scrub()

若将Detergent类和Cleanser类的顺序调换,则显示结果如下:
Cleanser dilute() applay() scrub()

总结:同一个java文件中的2个类,各有一个main函数,编译执行时谁在前先执行谁。

有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,各有一个main函数,谁在前先执行谁!相关推荐

  1. 9.Java面向对象-方法参数类型及返回值类型、权限修饰符、内部类、匿名内部类

    9.Java面向对象-方法参数类型及返回值类型.权限修饰符.内部类.匿名内部类 一.类名作为形式参数 A:案例演示: 类名作为形式参数当你以后看到一个方法的形参要一个 类 类型,你就传递一个该类的对象 ...

  2. JAVA面向对象:相关基础知识(带包编译--权限修饰符--内部类)

    目录 1.带包编译 2.权限修饰符 3.内部类 1.带包编译 解决使用notepad++ 等文本编辑器编写的java类中如果需要 package 的解决方案: 手动式:手动建包,.java文件放在包外 ...

  3. java文件中有中文,在windows下因编码不一致,而导致编译失败的处理方法。

    由于控制台当前页码编码为GBK,而sublime是以utf-8保存的,故使用javac对Helllo.java文件进行编译的时候出现以下两种情况: 1.文件夹里没有生产.class文件,且控制台没有任 ...

  4. 解释一下什么叫:同一个java文件只能有一个public类

    在阅读JDK源码时可能会看到在一个public class中"居然"存在另一个public class,似乎跟学习java时提到的"同一个源程序中只能有一个public类 ...

  5. 如何运行项目或工程中的单独java文件---找不到或无法加载主类”错误的原因

    技巧是找到package的上一级目录:比如我本机的package目录如下: /IdeaProjects/com.my/out/test/classes class文件目录如下: /IdeaProjec ...

  6. cmd进入dos命令运行java文件报错找不到无法加载类

    最近换新电脑之后配置了jdk环境变量之后尝试crm命令运行java文件出现报错,再网上找了些答案,什么java文件里面有语法错误,什么环境变量配置出错,我都尝试了下,发现都没问题,.故而自己做了些测试 ...

  7. 【Java基础】多态、equals、造型cast、访问修饰符(public、protected、default、private)、static、final

    1.面型对象–多态 多态的概念:多态性就是指同样的消息被类的不同的对象接收时导致的完全不同的行为的一种现象.这里的消息即对类成员函数的调用. 实现上面调用宠物叫,每种宠物有各自的叫声 public c ...

  8. java方法和变量修饰符有哪些_死磕Java基础---类,变量和方法的修饰符

    欢迎关注微信公众号:一个自学的程序员 类修饰符 对于类的修饰符,毫无疑问是用来修饰类的,那么,修饰类的修饰符都有哪些? 有如下这些: 1. abstract 2. final 3. private 4 ...

  9. Java学习笔记10(零压力理解继承多态权限修饰符)

    文章目录 继承 方法的重写(override) 四种访问权限修饰符: 关键字super 类对象的实例化的底层原理 多态 instanceof操作符 object类 继承 继承是Java最重要的,类之间 ...

最新文章

  1. 郑州大学北校区oracle考试题,2019郑州大学软件学院oracle期末考试试题及答案(一)...
  2. CentOS系统设置自动登录
  3. 技术干货 | 视频最佳体验之自适应调节系统
  4. VMware 当中出现:无法将 Ethernet0 连接到虚拟网络VMnet8的问题
  5. input.get_shape()的用法
  6. 如何给虚拟机上的linux系统添加虚拟硬盘
  7. url散列算法原理_如何列出与网站相关的所有URL
  8. WSE2.0中X509安全令牌的使用
  9. vs运行html没有注册类,解决win10运行com提示“错误代码 80040154-没有注册类”的方法...
  10. 通过iLO进行Zabbix监控——针对HP服务器集成
  11. as 运算符 与 where T : class
  12. python私有化方法_Python 私有化
  13. 平面设计完全手册_平面设计师的三大软件:PS、AI、ID该如何选择?| 平面设计纯干货...
  14. 股票自动交易软件API使用流程
  15. 这6点解释了罗永浩为什么要卖艺
  16. win10文件夹加密_文件隐私保护工具文件夹隐藏精灵
  17. 关于jmeter运行提示没有权限 报错
  18. 熟知四种常见的BIOS信息说明【7gyy】
  19. 牵手华为云,云时通SRM助力企业采购数字化升级!
  20. 秋招总结|阿里转正失败,到拿到10个大厂产品offer

热门文章

  1. 分享RTFM和STFW的意思
  2. 卫片图斑_整治“卫片图斑”,让违建无处可逃!
  3. 如何让网页界面变暗色
  4. 活动运营中如何准确把握用户心理
  5. Lombok @Data导致的hashCode的问题
  6. 动漫人物手绘线稿图,非常适合初学者临摹
  7. 博客设计展示:25个优秀博客设计
  8. Hash的简介与hashlib模块的使用、模拟撞库与密码加盐
  9. 人工智能(AI)是如何处理数据的?
  10. shiro-基本原理和逻辑配置