package cn.my;public class Tie5
{protected void Ican()
{System.out.println(" I can do it!")
}
void Icant()
{System.out.println("I can don't it!")
}


}以上代码是Tie5.java
以下代码是Tie51.java
package cn.mysun;import cn.my.Tie5;
class Tie51
{public static void main(String args[])
{Tie5 I=new Tie5();
I.Ican;
I.Icant;            
                             
}
}为什么总说第七行和第八行不是语句,我想问一上各位高手如何改可以使不在同一个包的这两个文件Tie51.java可以访问到Tie5.java并可以打印出Tie5的句子。说明白一些我就是想写一段代码可以区别protected方法和友好方法的区别,请高手给指教谢谢各位!初学不知如何下手,见笑了!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【fengjingloveyanshz13】截止到2008-07-09 14:21:37的历史汇总数据(不包括此帖):
    发帖的总数量:26                       发帖的总分数:350                      每贴平均分数:13                       
    回帖的总数量:11                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:20                       结贴的总分数:295                      
    无满意结贴数:3                        无满意结贴分:40                       
    未结的帖子数:6                        未结的总分数:55                       
    结贴的百分比:76.92 %               结分的百分比:84.29 %                  
    无满意结贴率:15.00 %               无满意结分率:13.56 %                  
    楼主加油
      

  2.   

    ican和icant都是函数,要i.ican();i.icant();你那个是调用成员变量了。
      

  3.   


    正解还又Ican方法,在Tie51中访问不到,Tie51继承Tie5可以访问Ican方法,Icant方法默认同包下可以访问。就算继承也无法访问不知说的对不 
      

  4.   

    为什么Tie51不能打印出Tie5中的那句话呀?
      

  5.   

    1 你是要调用方法还是属性?方法必须有()的,比如 Icant();2 那2个方法一个必须是字类,一个必须是相同的package,否则你根本访问不了
      

  6.   

    语法错误太多:package cn.my;public class Tie5 {    protected void Ican() {
            System.out.println(" I can do it!");  //分号哪儿去了
        }    void Icant() {
            System.out.println("I can don't it!");  //分号哪儿去了
        }}package cn.mysun;import cn.my.Tie5;class Tie51 {    public static void main(String args[]) {
            Tie5 I = new Tie5();
            I.Ican();  //方法无参数括号也得加
            I.Icant();                      
        }}
      

  7.   

    package cn.my;public class Tie5 {    protected void canDo() {  //注意方法命名规范(不是必须遵守),首字符要小写
            System.out.println(" I can do it!");  //分号哪儿去了
        }    void cantDo() {  //同上
            System.out.println("I can don't it!");  //分号哪儿去了
        }}package cn.mysun;import cn.my.Tie5;class Tie51 {    public static void main(String[] args) {  //更提倡把 [] 放数组元素类型后面
            Tie5 i = new Tie5();  //局部变量名首字符要小写(不是必须)
            i.canDo();  //方法无参数括号也得加
            i.cantDo();                      
        }}//protected 访问级别比默认访问级别更宽松,允许在子类实例内访问。
      

  8.   

    我如何改可以使Tie51.java打印的结果是Tie5.java的结果呢
      

  9.   

    把 Tie51 与 Tie5 放同一个包里