面向对象部分
首先要了解面向对象的思想,与C#一致,都是面向对象的语言
访问修饰符
public | 共有的,对所有类可见。 |
protected | 受保护的,对同一包内的类和所有子类可见。 |
private | 私有的,在同一类内可见。 |
默认的 | 在同一包内可见。默认不使用任何修饰符 |
子类继承使用"extend",而不是C#中的 ":"
class Dog
class Teddy extends Dog
子类方法的访问范围只能比父类方法的访问范围大
变量的作用域分为四个级别:
类级(C#中的静态变量,static标识)、对象实例级(类属性、字段)、方法级(方法中定义的变量)、块级(代码块中定义的变量)
Java特性
跨平台,通过JVM实现,编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。
编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。
JVM是用C/C++开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的JVM。
Java包
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包。
包不但可以包含类,还可以包含接口和其他的包。
代码要引用其他包总的类,需要使用import关键字导入其他包的类
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:
继承与多态 http://www.weixueyuan.net/java/rumen_5/
1. 继承使用 extends 关键字。
2. super 关键字与this类似,this 用来表示当前类的实例,super 用来表示父类。类似C#中的base
3. 要显示调用父类的显示构造函数
4. 重载与重写,不需要overrider\overload关键字
5. 父类的变量可以引用父类的实例,也可以引用子类的实例。
Animal obj = new Animal(); obj = new Cat(); obj.cry();
6. 动态绑定
需要了解JVM调用方法机制 http://www.weixueyuan.net/view/6000.html
7. instanceof,判断一个变量所实际引用的对象的类型,做类型转换时需要进行判断
8. final
9. Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。
三个常用方法:equals() hashCode() toString()
主要介绍一些面向对象相关的基础知识
原文:http://www.cnblogs.com/alex09/p/4881806.html