上篇博客讲了this关键字的用法,这里介绍super关键字和package、import关键字。
一、super关键字
1.子类的构造函数如果要引用super的话,必须把super放在函数的首位
class Base {
Base() {
System.out.println("Base");
}
}
public class Checket extends Base {
Checket() {
super();//调用父类的构造方法,一定要放在方法的首个语句
System.out.println("Checket");
}
public static void main(String argv[]) {
Checket c = new Checket();
}
}
结果:
Base
Checket
2.用super直接传递参数
class Person {
public static void prt(String s) {
System.out.println(s);
}
Person() {
prt("A Person.");
}
Person(String name) {
prt("A person name is:" + name);
}
}
public class Chinese extends Person {
Chinese() {
super(); // 调用父类无形参构造方法(1)
prt("A chinese.");// (4)
}
Chinese(String name) {
super(name);// 调用父类具有相同形参的构造方法(2)
prt("his name is:" + name);
}
Chinese(String name, int age) {
this(name);// 调用当前具有相同形参的构造方法(3)
prt("his age is:" + age);
}
public static void main(String[] args) {
Chinese cn = new Chinese();
cn = new Chinese("kevin");
cn = new Chinese("kevin", 22);
}
}
结果为:
A Person.
A chinese.
A person name is:kevin
his name is:kevin
A person name is:kevin
his name is:kevin
his age is:22
解析:在这段程序中,this和super不再是像以前那样用“.”连接一个方法或成员,而是直接在其后跟上适当的参数,因此它的意义也就有了变化。super后加参数的是用来调用父类中具有相同形式的构造函数,如1和2处。this后加参数则调用的是当前具有相同参数的构造函数,如3处。
二、package和import关键字
1.说明
(1)、package作用:为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,引入的。
(2)、package语作为java源文件的第一条语句。用“.”来指明包(目录)的层次,例如:package com.sxt;则该文件中所在的类位于\com\sxt目录下,记清楚哦。(命名规则一般是把公司域名倒着写)
(3)、import作用:用来引入要使用的类。2.实例
建一个包
package com.lfsfxy; //写在第一句代码
class Cat {
}
把编译好的Cat类放在正确的路径下,这里是com文件夹的下级文件lfsfxy文件夹里。
然后用这个类
import com.lfsfxy.Cat;//引入包名,必须写全
public class Dog {
public static void main(String[] args) {
//com.lfsfxy.Cat c = new com.lfsfxy.Cat();//也可以这样写,不过类名太长
Cat c = new Cat() ;
}
}