Java修饰符、抽象类、接口
2015-07-22 09:56
323 查看
static :1、修饰变量时为静态变量(注),所有实例对象共享这个内存;
2、一般用类名访问,方便知道该变量为静态变量;
3、修饰方法时为静态方法,该方法只能访问静态变量,也用类名访问;
4、不能修饰类;
5、可用于修饰一段代码,如下:
static{
Systom.out.println("静态");
}
该段代码会先于main方法自动执行,不用调用。
注:静态变量是独立的存储空间,当有两个实例都拥有同一个静态变量时,其中一个对其进行操作,对另一个实例来说其静态变量的值也同时改变。
final :1、被修饰的量为常量,一般用全大写;
2、只能访问,不能修改;
3、不能用类名访问,必须用对象,所以一般与static一起用,这样便可以用类名访问;
4、修饰方法时,子类不能重写该方法;
5、修饰类时,该类不能被继承;
(abstract)抽象:1、修饰类时为抽象类,即为概念类,不能实例化;
2、修饰的方法为抽象方法,该方法没有方法体,必须由子类实现,若没有实现会报错;
3、子类若为抽象类,则其中的抽象方法可不实现;
注:抽象类可以没有抽象方法,但抽象方法所在的类必须为抽象类
(interface)接口:1、接口中只能有常量和方法的声明,不能实例化
2、实现类可以实现多个接口,其中的方法必须全部实现,同时也可继承父类;
抽象类和接口的相同点和区别:
1、抽象类是创建一个体现某些基本行为的类,并声明各种方法但不实现该类,这点与接口类似;但区别是抽象类中可以有抽象方法和非抽象方法,接口中的方法都为抽象方法;
2、抽象类中不能有抽象构造方法和抽象静态方法;
3、接口中的变量只能定义static final的成员变量;
4、抽象类和接口中的抽象方法必须全部实现;
5、子类只能继承一个抽象类,接口的实现可实现多个接口;
2、一般用类名访问,方便知道该变量为静态变量;
3、修饰方法时为静态方法,该方法只能访问静态变量,也用类名访问;
4、不能修饰类;
5、可用于修饰一段代码,如下:
static{
Systom.out.println("静态");
}
该段代码会先于main方法自动执行,不用调用。
注:静态变量是独立的存储空间,当有两个实例都拥有同一个静态变量时,其中一个对其进行操作,对另一个实例来说其静态变量的值也同时改变。
final :1、被修饰的量为常量,一般用全大写;
2、只能访问,不能修改;
3、不能用类名访问,必须用对象,所以一般与static一起用,这样便可以用类名访问;
4、修饰方法时,子类不能重写该方法;
5、修饰类时,该类不能被继承;
(abstract)抽象:1、修饰类时为抽象类,即为概念类,不能实例化;
2、修饰的方法为抽象方法,该方法没有方法体,必须由子类实现,若没有实现会报错;
3、子类若为抽象类,则其中的抽象方法可不实现;
注:抽象类可以没有抽象方法,但抽象方法所在的类必须为抽象类
(interface)接口:1、接口中只能有常量和方法的声明,不能实例化
2、实现类可以实现多个接口,其中的方法必须全部实现,同时也可继承父类;
抽象类和接口的相同点和区别:
1、抽象类是创建一个体现某些基本行为的类,并声明各种方法但不实现该类,这点与接口类似;但区别是抽象类中可以有抽象方法和非抽象方法,接口中的方法都为抽象方法;
2、抽象类中不能有抽象构造方法和抽象静态方法;
3、接口中的变量只能定义static final的成员变量;
4、抽象类和接口中的抽象方法必须全部实现;
5、子类只能继承一个抽象类,接口的实现可实现多个接口;
相关文章推荐
- java函数--03
- Opentaps(OFBiz)在Eclipse下调试配置
- Android-PullToRefresh(一)在Eclipse中如何引入/Android-PullToRefresh和其Demo
- Java:使用synchronized和Lock对象获取对象锁
- 解决java web 乱码问题
- java.lang.NoSuchMethodException的错误
- ofbiz加载入eclipse
- java 转成字符串 json 数组和迭代
- eclipse 经常loading descriptor for XXX ,然后卡死
- ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
- struts2 中获取map值
- Java集合
- java中的编码问题
- java的锁机制
- eclipse配置javap命令的方法
- spring使用多个PropertyPlaceholderConfigurer的配置
- 在MyEclipse中apatana插件的安装
- Java设计模式之装饰者模式
- eclipse和idea开发servlet的区别
- struts 文件上传示例