面向对象

1. 面向对象

扁平化管理(小企业)与层级化管理(大企业)
面向对象注重的是分类,分模块;
面向过程侧重于过程;

2. 功能与调用通常分开写

客户端:调用别人的;类库端:被调用的;
静态方法的调用:调用当前类中的静态方法,编译器会自动的加上类名,且创建公共的无参构造;
成员方法的调用:对象引用.成员方法名;

3. 构造方法

创建对象,初始化对象;
作用:创建当前类的实例化对象,初始化成员属性;

4. 静态变量初始化

发生在类的加载阶段(main方法执行之前);

5. 成员变量初始化

发生在调用构造方法
若不定义构造方法,jvm会默认的创建一个公共无参构造;
若定义了构造方法,jvm便不会创建这个默认的公共无参构造;

6. 构造方法

语法结构:权限控制修饰符 方法名(类名) 参数 方法体
注意:构造方法是没有返回值类型的,即便是void也没有;
其中方法名必须与类名一致;
构造方法具有双重性,不能加static声明;

7. 构造方法重载

名字必须有类名一致,参数可以不同,拥有多个构造方法;

8. 类和对象

类:标准,模板,相同的属性形成一个类;
对象:具体的事物,个体,符合一定标准的,拥有不同的属性值,抽离出的实例称为对象;

9. 面向对象的四大特性

封装、继承、多态、抽象

10. 对象

代码角度:new的一个实例,封装了特有的数据;
数据角度:封装数据和逻辑的一种方式;
现实角度:某个具体的对象(一切皆为对象)
设计角度:从一个实际的实体中抽象出某些属性的一种实体表现;
属性 静态:类的行为和功能;
动态:类对象的行为和功能;

11. 实例化

类 变量 = new 构造方法(参数);
过程:

  1. 加载类到静态区;
  2. 调用构造方法(栈内存压栈,开辟栈帧),在堆内存开辟空间;
  3. 把对应类中的数据存入堆内存,给出地址;
  4. 把堆内存的地址传给栈内存,遍历。

12. 类的构成

根据具体的事物/需求,抽象出来的属性特征;
类中可以有:main方法、成员变量(每个对象共有的属性)、静态变量(每个对象共有的属性和值,保存在方法区)、局部变量、成员方法、静态方法、构造方法、抽象方法、静态语句块、动态语句块、this、super;

13. javaBean

成员变量私有化,对应的getter/setter方法;对应的构造方法;
私有化的数据仅能在当前的类中使用;
对外提供一个公共的方法,便于访问;通过这个方法可以对输入的值进行校验,控制权掌握在了我们的手中,从而一定程度上提升了程序的安全性。

14. 常见异常

① 使用null值(空的引用)去访问成员属性的时候,会出现空指针异常(运行时出错);
② 访问了一个不存在的属性(编译时出错);

15. Jvm特性

跨平台;面向对象;多线程;自动垃圾回收机制;

16. 什么是垃圾?

如果没有更多的引用指向这个对象,该对象就会被看作是垃圾数据,等待被回收;
System.gc();
程序猿可以通过这个代码,建议进行垃圾回收;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值