当前位置:  技术问答>java相关

设计构造器与一般方法的访问控制问题!

    来源: 互联网  发布时间:2015-10-10

    本文导语:  AA类是从A类继承而来的, AA类在AA包中,A类在A包中, 现在将A类中有一个访问控制为protected的构造器A(),和一个访问控制为 protected的方法print()。 问题:为什么同在A类中且访问控制都为protected的构造器不能调用,而...

AA类是从A类继承而来的,
AA类在AA包中,A类在A包中,

现在将A类中有一个访问控制为protected的构造器A(),和一个访问控制为
protected的方法print()。

问题:为什么同在A类中且访问控制都为protected的构造器不能调用,而

方法print()可以正常调用? 

程序代码如下:
//class a 中的代码
package a;
public class a{
protected a(){
System.out.println("我是a!");
}
protected static void print(){
System.out.println("我是a中的print(!");
}
public static void main(String[] arge){
a l_a = new a();
print();
}
}

//class aa 中的代码

package aa;

import a.*;  //引入a包!

class aa extends a {
public static void main(String[] arge){
// a l_a = new a(); //不能访问
print(); //可以访问
}

 


 


|
我把你的代码看了一下:你可以这样作:
//class a 中的代码
package a;
public class a{
public a(){
System.out.println("我是a!");
}
protected static void print(){
System.out.println("我是a中的print(!");
}
public static void main(String[] arge){
a l_a = new a();
print();
}
}

//class aa 中的代码

package aa;

import a.*;  //引入a包!

class aa extends a {
public static void main(String[] arge){
a l_a = new a(); 
print(); 
}

 也就是把a包中的a类的构造函数protected a(){}改成public a(){}.
因为你在aa类中new a()会调用a类的构造函数,而他又是protected的,所以这样。

|
你extends它了,那么a里头的protected和public的方法和属性都会一起继承下来的吗.

|
aa访问的print()是它自己的method,管他是protected还是public呢,都可以。

|
protected限制了你的访问权限,你不能生成protected构造函数的实例子,必须在同一个包内。
由于print是static的,所以可以直接在子类中使用。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我的毕业设计:java+远程控制+防火墙技术+网络安全,欢迎大家一起讨论!
  • 有关MVC(模型-视图-控制器)设计的讨论
  • 高手请进,有关MVC(模型-视图-控制器)设计的讨论
  • Web前端设计:Html强制不换行<nobr>标签用法代码示例
  • 智能在线表单设计器 FreeForm智能在线表单设计器
  • GOF设计模式简介- 责任链模式
  • 名片设计软件 gLabels iis7站长之家
  • Web前端设计:html上标<sup>标签与下标<sub>标签详解
  • 学习JAVA程序设计,有没有《WINDOWS程序设计》这样的经典书籍?
  • Docker扁平化网络设计与实现
  • QTdesigner设计好界面后,怎么写代码啊?是不是QTdesigner只是设计界面啊?(需祥解)
  • 方法体的设计实际上是对方法中自变量的设计?
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • 一个老程序员的观点:Linux程序/内核设计是一门技术,Windows下的可扩展、可复用架构设计是一门艺术!
  • 高分求教,设计问题,请给设计意见
  • Android界面设计(APP设计趋势 左侧隐藏菜单右边显示content)
  • 协议的设计一般采用结构体进行数据打包,在协议设计的结构体中能不能使用指针 ?
  • 毕业设计开题了:基于linux的个人防火墙的设计于实现,给点建议
  • PHP 设计器
  • 大家可以探讨一下Servlet的设计模式么?
  • 一份课程设计作业:模拟UNIX文件系统的设计及实现
  • 数据库设计和同步软件 DbWench
  • 电子设计自动化软件 Fritzing
  • 名片设计软件 gLabels


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3