java基础知识(整理)
来源:互联网 发布:xp有日历软件 编辑:程序博客网 时间:2024/05/17 22:42
面向对象编程
1.在java中,变量不持有对象,他们只有对象的引用
2.final实例变量
final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。
final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。
使用final来修饰的类叫作final类。final类通常功能是完整的,它们不能被继承。
final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。
3.静态变量 静态方法 静态类
静态变量的好处
1.静态对象的数据在全局是唯一的,一改都改。
2.引用方便。直接用 类名.静态方法名 或者 类名.静态变量名就可引用并且直接可以修改其属性值,不用get和set方法。
3.静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!
4.抽象类与接口
1.抽象类
抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:
abstract void fun();
因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。
包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:
1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
2)抽象类不能用来创建对象;
3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
2.接口
Java中,定一个接口的形式如下:
[public] interface InterfaceName {}
接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法会被隐式地指定为public abstract方法且只能是public abstract方法,并且接口中所有的方法不能有具体的实现,,接口中的方法必须都是抽象方法。
要让一个类遵循某组特地的接口需要使用implements关键字,具体格式
class ClassName implements Interface1,Interface2,[....]{}
区别
1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
- java基础知识(整理)
- Java基础知识整理(一)
- Java基础知识整理(二)
- Java基础知识整理(三)
- Java基础知识整理(四)
- java基础知识整理(2)
- java基础知识整理(3)
- Java基础知识整理(一)
- java基础知识整理(二)
- JAVA基础知识整理(一)
- JAVA基础知识整理(二)
- JAVA基础知识整理(三)
- JAVA基础知识整理(四)
- JAVA基础知识整理(五)
- Java NIO基础知识整理(一)
- Java基础知识整理(七)- setDaemon()
- JAVA学习笔记整理一(基础知识)
- java基础知识点滴整理(一)
- Java数据结构与算法解析(十二)——散列表
- 小结小结
- 【S2-053】Struts2远程命令执行漏洞(CVE-2017-12611)
- windows无法启动MySQL服务报错1067的解决方法
- 使用httpClient报错,The type org.apache.http.HttpResponse cannot be resolved
- java基础知识(整理)
- 通过json-lib实现Java对象和json字符串的相互转换
- 剑指offer:构建乘积数组
- 693. Binary Number with Alternating Bits
- HDU
- 国庆作业
- 《大话设计模式》——学习笔记之"结构型模式"(适配器&装饰&桥接&组合&亨元&代理&外观)
- JAVA -Xms -Xmx -XX:PermSize -XX:MaxPermSize 区别
- vim 脚本