A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于冰 黑马帝   /  2011-12-22 14:23  /  1786 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码如下:
class Tel {
        Tel(){
                System.out.println("fulei tel");
        }
        void show(){
                System.out.println("number");
        }
}
class newTel extends Tel
{
        newTel(){
                //super();
                System.out.println("zilei tel");
        }
        void show(){
        //System.out.println("number");
        super.show();
        System.out.println("name");
        System.out.println("pic");
        }
}
public class TelTest
{
        public static void main(String[] args){
                newTel nt = new newTel();
        }
}
这样的代码是好用的,此时的.java文件叫做TelTest
.java
同一个java文件中不能存在多个public 类所以Tel类和newTel类不能是public权限。
****但是,为什么不能把Tel类和newTel类定义为私有类型呢?都是私有的话,权限相同也满足继承的条件a。private class Tel 为什么不好使呢?

4 个回复

倒序浏览
李楠 黑马帝 2011-12-22 14:33:34
沙发
第一点是一个文件只能有一个public类,这是你对外暴露的唯一的公共接口,如果有一个以上的public类,就会报错,并且文件名和public类名字必须完全相同。
第二点是把类设为private类型,不是不可以,但是,除了这个类自己,谁也不能访问他,这个类就没有意义了。同样也不能设为protected的。
所以对于类的访问权限,要么就是默认的包访问权限,也就是你什么都不加,就是默认的包权限,要么就是public权限的。
private权限和protected权限的类也不是完全不能用,但是只会用在内部类中。
回复 使用道具 举报
只有当一个类为内部类时才可定义为private类型,此时只有该类的外部类可以实例化此内部类。而非内部类定义为private的话,没有其他类可以实例化这个类,也就没有意义了。
回复 使用道具 举报
private不能用来修饰类,除非这个类是内部类,private只能用来修饰成员。
回复 使用道具 举报
首先private是不可以修饰外部类的,要是修饰了这个类就不能建立对象而且类私有了,别的类就不知道这个类的存在,也不能继承,这个类也就没有意义了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马