0.解压密码:www.mfhk8.com
1.变量的意义:由于我们操作基本数据类型时不可能操作数据地址,所以声明变量和对应的栈中的地址一一对应,这样操作方便。对于操作引用数据类型,我们使用变量管理时,通过操作栈空间变量对应的地址的变量,来操作堆空间的数据。
2.关于变量的作用域,当 变量在{ } 结束之后 ,会被JVM(java虚拟机)回收。
3.Java 在处理char 类型数据时,在底层是按照unicode码来处理的。
4.Java 构造方法:(1).构造方法名称必须与类名一致,构造方法没有返回值。(2).构造方法主要是为类中的属性初始化。(3).每个类在实例化之后都会调用构造方法,如果没有构造方法,系统默认会创建一个无参的什么都不带的构造方法。(4).构造方法也可以重载。
5.匿名对应 针对于只是用一次的对象,换句话说就是OC里面的[Person new].tell。
6.Java封装 就是将对应的类的属性声明为私有的,之后通过setter 方法和getter 进行数据的赋值的获取。
7.this 关键字:(1).表示当前类中的属性好调用方法,(2).调用本类中的构造方法(默认的构造方法),(3).表示当前类对象。与OC中的self相似。
8.static: (1),使用static 声明属性,static 声明全局属性 (2)使用static声明方法,直接使用类名调用,(3)静态方法不能调用非静态的方法和属性.(个人理解:被static 修饰的无论属性还是方法 都相当于变成对应的在该类的属性)
9.final :(1) final 关键字在java中被称为完结器,标识最终的意思.(2).final声明类.方法.属性. 使用final声明的类不能被继承,使用final声明的方法不能被重写,使用final 声明的变量变成常量,常量是不能被修改的。
10.抽象类:包含一个抽象方法(声明而未被实现的方法,抽象方法必须使用abstract 关键字声明)的类,抽象类不能被实例化,而是通过子类集成的方式,zilei(如果不是抽象类)必须重写抽象类中的所有抽象方法。定义格式:
11,接口
接口本身不能实例,而是可以多继承的子类可以通过implements实现方法进行实例。
#@# 一个类可以同时实现抽象类和接口
@@ 一个接口不能继承一个抽象类,但是却可以通过extends 关键字同时继承多个接口实现接口的多继承
接口与抽象类的相同点和不同点
相同点
* 都不能被直接实例化,都可以通过继承实现其抽象方法。
* 都是面向抽象编程的技术基础,实现了诸多的设计模式。
不同点
* 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
* 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
* 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
* 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
* 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。
12 .继承
java 单继承,子类要想访问父类的私有属性,可以通过setter 和getter 方法进行访问 和OC 一样。
13.对于父类和子类的构造方法 :系统先调用父类构造方法,再调用子类构造方法 Java 构造方法和类型相同 ,OC 中 -init super init
14.继承中 方法的重写
在方法的重写的时候 注意super 的使用 java 中方法的重写和OC 一样
15.String 类型: String 类型 是不可更改的 改变的是 堆内存地址的指向。
16.StringBuffer 类型 :由于String 类型是不可更改的 ,但StringBuffer类型却是可以进行更改的 (更改的是堆 中的内容)
消耗资源和不消耗资源 第一种开辟101快内存空间 第二种开辟1块内存空间,就是StringBuffer 内存可以修改
第一张 第二张StringBuider 和StringBuffer 相类似 几乎是一样的
16.Java 多态性 主要体现在 重载 和 重构 继承下的向上转型和向下转型(强制类型转换) ,Java面向对象instanceof关键字 是用来判断这个对象是不是 这个类的对象 返回值 为Bool
网友评论