java语法

来源:互联网 发布:平面设计图纸软件 编辑:程序博客网 时间:2024/06/05 18:08

Java面向对象:
1. 提高代码的复用;
2. 父对象把身处之物(非private的属性和方法)全部被子对象继承;
3. extends继承属于IS-A的关系,而impements继承属于HAS-A的关系;
4. super用来引用父类,this用来引用自己;
5. 子类的构造函数会自动调用父类的无参构造,但不会自动调用父类的有参构造;
6. Override方法重写规则
其实就是子类相同的实现(连返回值类型都要相同)摭住了父类的实现;
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常;
声明为final的方法不能被重写,声明为abstract的方法必须被重写;
7. Overload方法重载
方法名字相同,而参数不同(返回类型可以相同也可以不同);
被重载的方法可以声明新的或更广的检查异常;
8. 多态
基类指针指向子类对象,Java可以识别对象的真实类型,这叫做多态(polymorphism);
必要条件: 继承+重写+指向子类对象的基类指针;
9. Abstract,残缺的。
抽象类
所有的对象都是通过类来描绘的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
抽象类不能实例化对象,抽象类必须被继承才能被使用
抽象方法,只包含一个方法名,而没有方法体
如果一个类包含抽象方法,那么该类必须是抽象类,抽象类中不一定有抽象方法;
任何子类必须重写父类的抽象方法,或者声明自身为抽象类;
构造方法,类方法(用static修饰的方法)不能声明为抽象方法
10. 封装
防止该类的代码和数据被外部类定义的代码随机访问,必须通过严格的接口控制才能访问该类的代码和数据
11. 接口 (interface)
编写接口的方式和类很相似,但是它们属于不同的概念:类描述对象的属性和方法;接口则包含类要实现的方法;
一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类;
接口中所有的方法必须是抽象方法;
和抽象类的区别:
1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
3. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口(HAS-A)。
12. package(命名空间)
把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用;
采用了树形目录的存储方式;
包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类;
13. 基本类型(primitive type)的对象不需要new,在栈上直接存储基本类型的数据;
引用类型类似于c中的const类型的指针,数据分为栈空间数据和堆空间数据;

原创粉丝点击