主方法main(),虽然诞生于类,但其实是不考虑诞生它的类的内容是什么!
诞生在哪一个类,就仅仅获得了两个特点:
1、调用本类中静态方法时,可以隐藏该 类名 . 来调用。(其实没什么用,再写一次也一样,可以忽略这条)。
2、获得了该类所属于包的所有访问权限。(仅此而已)
定位补充:在mian()方法内,所创建的对象,都以main()方法所在包的访问权限为基准,即是跨包创建的对象都不能访问包和包以下的访问权限。
所谓的包访问权限也只是仅仅给当前包下所调用的JVM的main()方法,一个默认包访问,访问其他包的类都视为必须拥有包以上访问权限才能访问。
如果需要跨包,该类下导包。(即可以环游所有Java程序,除package包访问权限下的类)
类的访问权限只有两个(包访问,和全局访问)记忆:要么给自己同胞看,要么大家看。
没有主方法的类,如何跨包?
理解:
1、导包(所有类都仅有当前包和java默认给的包访问权限)告诉程序你要找到是谁?(相对地址或绝对地址都行)
2、该类下创建对象。用字段保存该对象,或者方法中直接使用或返回。
3、当有主方法调用时,自动会根据创建的对象,牵一发而动全身。