包就相当于一个文件夹,我们在存储不同文件的时候,会将不同的类别分别储存在不同的文件夹中。
用于解决文件名冲突的问题。
我们就可以通过调用不同的包来使用自己想要用的类。
语法:package 包名
注意:声明一个包的语句必须写在类中的第一行。
我们可以在其他包中导入其他包的数据。
import 包名.类名;
如果我们需要导入多个类就可以用 “ * " 来表示所有的类。
继承就是在同一个类中,分为父类和子类。子类可以继承父类的方法,属性,特征,行为等(除私有成员外)。
子类还可以定义自己的一些特殊的方法,特征等。
继承的作用可以减少我们的重复代码量。将每个相同的建立一个公共类,重复给其他类使用。
例如:
public class Weapon{ String name; int attackValue; public weapon (String name,int attackValue){ Systme.out.println("--执行武器父类Weapon的构造方法-”) this.name = name; this.attackValue = attackVALUE; }public void attack (){ System.out.println("武器名:“+name+"/t"攻击值:"+attackValue) } }
我们创建了一个父类Weapon
那如何创建一个子类呢?
public class Sword extends Weapon{ public Sword (String name,int attackValue){ super(name,attackValue) } }
我们创建了一个子类Sword 并继承了父类的属性name和attackValue属性,方法。
super指代父类weapon中的方法。
多态分为重载和重写。
重载是在一个类里面,有多个方法名相同,参数不同的方法。
例如:
public class Book(){ public float k(){ return 100; } public float k (int j){ return (float)(j*0.1) } }
我们定义了一个类k,并创建了一个同名的方法,但是参数不同的方法。
这样我们就可以通过参数的不同来区分方法了。
重写:
重写就是不改变父类的代码的方法,自己在子类中重新写一个方法。
来满足我们一些特殊的要求。
public class Bird { public void fly(){ System.out.println("我在飞"); } public class Ostrich extends Bird{ public void fly (){ System.out.println("我在跑"); public void prey (){ fly(); System.out.println("执行捕食方法"); } public static void main(String [} args){ Ostrich ostrich = new Ostrich(); ostrich.prey(); } }
我们执行出的结果是我在跑而不是我在飞
instannceof 判断 运算符前面的引用变量是否是运算符还面的类型或者其子类的实例。
如果成立返回true否返回false。
a instanceof b