抽象类(abstract)
1.抽象类和抽象方法必须使用abstract修饰
具体格式为:abstract class 类名
public abstract 返回值类型 方法名(参数列表){}
2.抽象类不一定有抽象方法,但是有抽象方法的类必定是抽象类。
3.抽象类不能实例化。
4.抽象类有成员变量、构造方法、成员方法、抽象方法。抽象方法是为了子类访问父类数据的初始化。
5.抽象类的子类要么是实现类(重写抽象方法),要么是抽象子类(不重写抽象方法)。
6.abstract不能喝private、final、static关键字共存。
接口(interface)
1.格式:interface 接口名 class 类名 implements 接口名{}
2.接口不能实例化
3.接口的子类要么是抽象类(没有重写抽象类方法),要么是实现类(重写抽象方法)。
4.接口中有成员变量是常量(public static final)、抽象方法(public abstract)
接口与类的区别和联系
1.联系:类与类之间是继承关系,只能单继承,可以多层继承;类与接口是实现关系,既可以单实现,也可以多实现;接口与继承,可以单继承,也可以多继承。类和接口都不能实例化对象。
2.区别:接口中只存在常量和抽象方法,抽象类可以有变量、常量、构造方法、抽象方法、非抽象的方法。
类、抽象类、接口作为形参合返回值时
核心思想是多态。父类引用指向子类对象,在多态时注意:
成员变量:编译看左边,运行看左边。左边没有编译不通过。
成员方法:编译看左边,运行看右边,左边没有编译不通过。
包(package)和导入(import)
1.package必须是执行语句的第一条,在一个java文件中只能有一个包名,如果没有package,默认无包名。能访问到其他包下面的语句或自己写的类被别人访问,类都应该是public的,DOS命令行编译的时候有两种方式:
第一种:编译的时候不指定路径,手动创建路径 javac HelloWorld.java->生成字节码.class文件,把生成的字节码文件拷贝到你创建的文件夹下面,java com.it18zhang.HelloWorld,运行的时候跟完整路径名。
第二种:编译的时候自动生成路径,javac -d . HelloWorld.java ,运行的时候跟上完整路径名java com.it18zhang.HelloWorld.
网友评论