抽象类与接口和关键字

来源:互联网 发布:linux smart 编辑:程序博客网 时间:2024/06/05 05:34

抽象类
抽象:(abstract)
1.抽象类里面可以有抽象方法,也可以没有抽象方法,但是如果某个类有抽象方法,那么这个类就是抽象类。
2.如果一个类是一个抽象类的子类,它必须要实现父类的抽象方法,如果没有实现那么子类就是抽象类。
3.由于抽象类具有未实现的方法,所以不能创建对象。(抽象类不能实例化, 实例化就是创建对象的意思。)
4.抽象类不能被final修饰,因为抽象类是必须要子类继承的来实现抽象方法,而final修饰的类是不能被继承的。

接口
1.定义接口
使用interface来定义一个接口。接口定义和类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

[public(修饰符)] interface 接口名 [extends 父接口名列表]{
public(修饰符) static final 常量;(静态常量) 类型 常量字段名 = 值;
public(修饰符) abstract(抽象) 方法; 返回类型 方法名(参数列表);
}
2.接口只能包含方法(就是没有实现的抽象方法,没有实现)和常量(没有变量)而且常量必须在接口中定义的时候就初始化。

3.接口中的方法,永远都被public来修饰

4.接口没有构造方法,所以接口和抽象类一样不能创建自己的对象(因为它们的方法没有实现),但是它们均可引用实现类(或子类)对象。

5.接口可以继承接口,接口继承其他的接口的时候,是可以多继承的。

类的访问修饰符
1.public:如果一个类被定义为public的,那么这个类将能在任意地方使用这个类。
2.默认:如果一个类前没有加任何访问修饰符,那么这个类 其实遵循了默认访问限制。也就是说,只有在同一个包中的类,才能使用该类。

方法及属性的访问修饰符
1.private—私有权限:
访问权限仅限于类的内部,是一种封装的体现(只能在同一个类中才能使用(范围最小))
例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。

2.默认修饰符(就是没有使用修饰符的时候 默认:default)
在同一个类和同一个包中才能使用(范围倒数第二小)

3.protected修饰符—家族权限
在同一个类,同一个包和子类(派生类)中才能使用(范围倒数第二小)

4.public修饰符—完全开放
具有最大的访问权限,可以被所有其他类所访问。

关键字
 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。

1.修饰类
  当用final修饰一个类时,表明这个类不能被继承。如果你想让一个类永远不被继承,就可以用final对它进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。

2.修饰变量(属性),变量是常量,必须在声明的时候初始化或者在构造器中初始化,变量一旦被赋值将不能再被修改。

3.修饰方法,方法不能被重写

1.成员变量:是定义在类中方法外。 局部变量:在方法定义中或者方法声明上。

2.类变量(也叫静态变量)是类中独立于方法之外的变量,是用static 修饰。
(用static 声明的就是类变量,该变量属于类,即使new出n个对象,内存中该变量也只有一份,如果是成员变量的话,每生成一个对象就有一个相应的变量生成)
3.类变量是你在一个class中声明一个变量的前面加了一个static关键字,这个就是类变量。
(static表示“全局的”、“静态的”,用来修饰成员变量和成员方法,或静态代码块)

static:
修饰变量,该变量是类变量就是静态变量(实质上就是全局变量)
修饰方法,该方法可以直接被类名调用
用法:类中的静态变量和静态方法在类没有new的时候可直接调用。(不需要创建对象就可以用)

原创粉丝点击