计算机专业还是非常热门的,非常香的
但是专业都有一个前提:你不厌恶它,最好有兴趣
import ,package,包
包:可以理解为一个文件夹,文件夹下有很多类可以使用,这个文件夹就叫包
建包
这是一个测试类,生成包
package 后面路径是哪里,就得将生成的class放在哪
也支持多级目录,多级使用成员符号隔开
package MyPackage;
// 导出到MyPackage包
public class test {
public int a = 10;
public String name = "张三";
}
也可以使用” javac -d . test.java“
直接生成文件夹,不需要手动移class
.
.
.
.
.
.
导包
再用另一个类去导包,并且使用
import MyPackage.test;
public class b {
public static void main(String[] args) {
test t1 = new test();
System.out.println(t1.a + t1.name);
}
}
文件结构,b类导MyPackage包中的,test类
test.java文件位置不重要,重要的是class文件位置必须在包内
修饰符:
权限修饰符:
public:公共
private:私有,仅仅本类中
protected:继承的类中可以访问
default:同包类可访问
这张图非常好啊
状态修饰符
static:本类中共享
final:最终,不可改,固定,不可重写,不可继承,不可赋值(有点像const)
继承extends,封装class,多态:
父类类型 —变量名=new----子类构造
不同子类的内重写方法不同,产生不同结果
不可访问子类特有的东西
.
.
多态其本质类型还是父类
public class b {
public static void main(String[] args) {
person p1 = new BlackPerson();
person p2 = new WhitePerson();
person p3 = new person();
p1.print();
p2.print();
p3.print();
}
}
class person {
public String color = "肉色";
public String name = "person";
public void print() {
System.out.println("种族:" + name + "肤色:" + color);
}
}
class BlackPerson extends person {
public String color = "黑色";
public String name = "黑人";
public void print() {
System.out.println("种族:" + name + "肤色:" + color);
}
}
class WhitePerson extends person {
public String color = "白色";
public String name = "白人";
public int age = 100;
public void print() {
System.out.println("种族:" + name + "肤色:" + color);
}
}