1.自定义包语法:
package <包名>
声明一个包的语句必须写在类中的第一行
2.包的导入语法:
import<包名>.<类名>
若要导入多个包,可使用“*”表示包中所有类
例如:
>import Java.util.*;//导入java.util包中所有的类 >import java.util.ArrayList;//导入java.util包中的ArrayList类
示例:
package com.java.oriented.dota.scene; public class Tree { public void clear(){ //具体业务逻辑 } } package com.java.oriented.dota.figure; //由于Tree类与Hero类不在同一个包中,所以需要使用import关键字导入包 import com.java.oriented.dota.scene.Tree; public class Hero { public void eatTree(Tree tree){ //调用树对象的clear()方法,吃掉的树在地图中消失 tree.clear(); } }
3.包的访问权限
1.public访问权限成员(类、属性和方法统称)
public 成员变可以被其他包中的类访问,public类中的protected成员可以被它派生的在其他包的子类中访问
2.缺省访问权限成员
缺省访问权限成员只能被同一个包中的类访问,不能别其他包中的类访问。
示例:
package com.java.oriented.dota.scene; public class Tree { void clear(){ //去掉public //具体业务逻辑 } } package com.java.oriented.dota.figure; //由于Tree类与Hero类不在同一个包中,所以需要使用import关键字导入包 import com.java.oriented.dota.scene.Tree; public class Hero { public void eatTree(Tree tree){ //调用树对象的clear()方法,吃掉的树在地图中消失 tree.clear(); } }
上述代码中tree.clear()会报错,因为tree类在另一个包中,并且在其中定义clean()的访问权限不是public
Java继承语法:
[修饰符] class 子类名 extends 父类名{ //类定义部分 }
父类也称作基类或超类
代码如下(示例):
public class Weapon { //父类 武器 String name;//武器名 int attackValue;//攻击值 //构造方法 public Weapon(String name, int attackValue) { System.out.println("--执行武器父类Weapon的构造方法--"); this.name = name; this.attackValue = attackValue; } //攻击方法 public void attack(){ System.out.println("武器名:"+name+"\t"+"攻击 值:"+attackValue); } }
public class Sword extends Weapon{ //圣剑 子类 public Sword(String name, int attackValue) { super(name, attackValue); } } public class Spear extends Weapon{ //圣剑 长矛 //构造方法 public Spear(String name,int attackValue) { super(name, attackValue); } } public class ExtendsTest { // 测试类 public static void main(String[] args){ Sword word = new Sword("圣剑",300); word.attack(); Spear spear = new Spear("长矛",250); spear.attack(); } }
————————————————