intellij-idea - 一个 .java 文件中定义多个类的问题?
迷茫
迷茫 2017-04-17 15:07:19
[Java讨论组]
public class Test
{
    public static void main(String[] args)
    {
        Woman aWoman = new Woman();
        aWoman.growHeight(120);
        System.out.println(aWoman.getHeight());
    }
}

class Woman extends Human
{
    /**
     * new method
     */
    public Human giveBirth()
    {
        System.out.println("Give birth");
        return (new Human());
    }
}


class Human
{
    /**
     * accessor
     */
    public int getHeight()
    {
        return this.height;
    }

    /**
     * mutator
     */
    public void growHeight(int h)
    {
        this.height = this.height + h;
    }

    /**
     * breath
     */
    public void breath()
    {
        System.out.println("hu...hu...");
    }

    private int height;
}

Human定义在Woman后面也能被Woman类查找到。。。和c/c++的先声明再使用完全不一样啊。。。 java新手 java的名字查找是怎么样的? 网上没找到这方面的资料。。。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHPz

编译完了之后每个类都是一个 .class 文件,哪来的先后。

Java 控制访问都是通过 publicprotected,默认包权限,private 几个修饰符来限制的。

在一个 Java 文件里定义的顶级类(非内部类)只有一个要求:只能有一个 public 类。

天蓬老师

建议看看Java的包机制,然后再了解了解修饰范围的修饰符
——————分割线——————
同一个文件里面的类都是可以互相找到的,没有定义的先后的说法,Java中类的位置是无所谓的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号