Java基础笔记

1.Java中类的成员变量会有初值 局部变量不会有初值

2.构造方法:用来初始化对象 方法名与类名相同 分为有参和无参 有参和无参可共存

3.静态变量 可以通过类名直接访问 所有对象均可以访问 但无法修改

4.初始化块:类的实例创建时 会依次执行初始化块 且只会执行一次 通常为成员变量赋值
静态初始化块:static修饰的块 只在类加载时执行 只能给静态变量赋值

5.封装: 访问修饰符 可见性 private 默认 protected public 访问范围分别在本类 同包 子类 其他 依次扩大
geter seter 和OC相同

6.Java中的包 通过import导入 package关键字 必须在第一行
可以通过包名区别名字相同的类 OC中并没有 这个应该就是命名空间
java中的包命名规则一般为 com.功能.类名 且为全小写
import com.A.* 将A下的所有文件导入

7.Java中的this关键字 表示当前对象 类似于OC中的self

8.内部类 普通内部类 创建: 内部类 对象名 = 外部类对象.new 内部类;
访问外部类属性 外部类名.this.属性名
静态内部类 创建: 内部类 对象名 = new 内部类
访问外部类静态变量 外部类名.静态变量名
方法内部类 只能在该方法中使用 (swift也有这样的特性 个人感觉没啥乱用 导致代码一团糟)

9.继承 extends关键字 单继承 与OC一致(貌似了解的只有C++是多继承)
构造方法执行顺序 先父类 后子类
属性赋值 先执行初值 再执行构造方法中的赋值
final 修饰类 类不允许被继承 修饰属性 属性只能被出初始化一次 修饰方法 方法不能被重写
super 代表父类对象 可以访问父类的属性 方法等 类似OC

10.重写 与OC相同

11.Object类 toString()方法 会输出改对象的内存地址 可以通过重写该方法 更改预期的结果
equals()方法 比较对象是否指向同一块内存地址 OC直接使用==判断

12.多态 对象具有多种形态(引用多态、方法多态) 与OC类似

13.引用类型转换 强制类型转换时使用instanceof关键字保证安全 类似于OC中的 isKindOfClass

14.抽象类 abstract关键字 只声明 不实现 规定子类应有的方法
eg. abstract class A{abstract void funcA();} //抽象类A包含了一个子类必须实现的funcA

15.接口 规定了某些类必须实现某些方法
interface关键字
通常被其他类继承 实现 不能使用
格式: [修饰符] abstract interface [接口名] [extends 父接口1,父接口2...]
{
零个到多个常量定义。。
零个到多个抽象方法定义。。
}
使用接口 implements关键字
格式: [修饰符] class 类名 extends 父类 implements 接口1, 接口2...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java基础笔记(一) 面向对象 [TOC] 1、定义类 其中的修饰符可以是public、final、abstra...
    小小少年Boy阅读 396评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,718评论 0 11
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,109评论 0 4
  • 半个月前,我和一家 B 轮公司的两名运营谈合作,其中有个男孩是 95 后,刚刚工作,我们聊起业内的新锐作家时,他忽...
    简浅Jian阅读 438评论 0 8