how2j.cn


工具版本兼容问题
包: package

把比较接近的类,规划在同一个包下

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



6分17秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 把比较接近的类,规划在同一个包下   
步骤 2 : 使用其他包下的类,必须import   
步骤 3 : 练习-包   
步骤 4 : 答案-包   

步骤 1 :

把比较接近的类,规划在同一个包下

Hero,ADHero 规划在一个包,叫做charactor(角色)
Item,Weapon规划在另一个包下,叫做 property(道具)
在最开始的地方声明该类所处于的包名
把比较接近的类,规划在同一个包下
package charactor; //在最开始的地方声明该类所处于的包名 public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 }
package charactor; //在最开始的地方声明该类所处于的包名
public class Hero {
       
    String name; //姓名
       
    float hp; //血量
       
    float armor; //护甲
       
    int moveSpeed; //移动速度
    
}
步骤 2 :

使用其他包下的类,必须import

使用同一个包下的其他类,直接使用即可
但是要使用其他包下的类,必须import
package charactor; //Weapon类在其他包里,使用必须进行import import property.Weapon; public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 //装备一把武器 public void equip(Weapon w){ } }
步骤 3 :

练习-包

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
创建一个新的包charactor1,并且让练习-治疗类:Support 声明在这个包下
步骤 4 :

答案-包

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

1分48秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


package charactor1; import charactor.Hero; public class Support extends Hero { public void heal() { System.out.println("对自己进行治疗"); } public void heal(Hero hero) { System.out.println("给英雄 " + hero + " 加血"); } public void heal(Hero hero, int hp) { System.out.println("给英雄 " + hero + " 加了 " + hp + "点血"); } }
package charactor1;
import charactor.Hero;

public class Support extends Hero {

	public void heal() {
		System.out.println("对自己进行治疗");
	}

	public void heal(Hero hero) {
		System.out.println("给英雄 " + hero + " 加血");
	}

	public void heal(Hero hero, int hp) {
		System.out.println("给英雄 " + hero + " 加了 " + hp + "点血");
	}
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-04-25 交作业
夜的诗人



交作业
package charactor1;
import j2se.hero;
public class Support {
	String name;
	int price;
	float hp;
	float armor;
	public void heal(){
		System.out.println("为自己治疗");
	}
	public void heal(hero hero){
		System.out.println("给英雄"+hero+"加血");
	}
	public void heal(hero hero,int hp){
		System.out.println("给英雄"+hero+"加了"+hp+"点血");
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-11-19 heal方法里带了name为何就不行!!!
lazyze



heal方法里带了name为何就不行!!!麻烦站长帮忙解释下,谢谢
package charcter1;
import character.Hero;

public class Support extends Hero {
	public void heal() {
		System.out.println(" 对自己进行治疗");
	}
	public void heal(Hero... heros) {
        for (int i = 0; i < heros.length; i++) {
            System.out.println("对" + heros[i].name + "进行了一次加血 ");
	    }	
	}
        public void heal(Hero h4,int hp) {
              System.out.println("对" + h4.name + "进行了一次加血 "+hp);
        }
	public static void main(String[] args) {
		Support bh = new Support();
		bh.name = "赏金猎人";
		Hero h1 = new Hero();
		h1.name = "盖伦";
		Hero h2 = new Hero();
		h2.name = "皇子";
		Hero h3 = new Hero();
		h3.name = "德玛";
		Hero h4 = new Hero();
		h4.name = "提莫";		
		bh.heal(h1,h2,h3);
		bh.heal(h4,300);
	}

}


							


6 个答案

cmaooooyuaaaan 答案时间:2018-01-27
试了一下,像上面的兄弟讲的,需要在Hero类里面定义name的范围是public。在输入“bh.“快速选择方法属性时也看到只有Hero中声明了public的属性才能看到 对盖伦进行了一次加血 对皇子进行了一次加血 对德玛进行了一次加血 对提莫进行了一次加血 300

lazyze 答案时间:2017-11-22
看到后面的知识点,应该是import就能解决了。,谢谢了

wmh123 答案时间:2017-11-21
在Hero类里面,把name定义为public试试

wmh123 答案时间:2017-11-21
是不是name不在同一个包内,“同包子类可以继承,不同包子类不能继”,重新定一下试试

wmh123 答案时间:2017-11-21
对不起没注意

wmh123 答案时间:2017-11-21
character包引了没
import character.Hero;




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-10-13 导入进去,Support运行不了,为什么?还需要修改什么吗?谢谢~
2017-05-13 heal方法里面应该是hero.name吧,不然输出的charactor.Support@3639b3a2啊
2016-12-29 导入了charactor的类Hero.,SUPHero也继承了Hero,但是为什么不能使用Hero的属性呢
2016-11-24 请问左侧显示的.class文件怎么删掉呢,看着好别扭
2016-04-17 charactor 和 property 是同级目录,Hero 应该不能 import 那个 Weapon 吧?




提问之前请登陆
关于 JAVA 基础-类和对象-包 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图