2017-11-27  本文已影响0人  NuliLsl

抽象类(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.

访问权限

上一篇 下一篇

猜你喜欢

热点阅读