Java基础

更多内容请关注:

Java快速开发学习

锁清秋

一、⾯向对象和⾯向过程的区别

1. 面向对象编程

1.1面向对象三大特征

封装性:

  • 一块代码的封装—方法
  • 方法和属性的封装—类
  • 某些数据的封装—对象

继承性:
优点:扩展性高,重用性强

多态性:

1、方法的多态;方法的重载与重写
2、对象的多态:向上转型与向下转型
向上转型:父类型的对象引用子类型的对象
向下转型:子类型的对象引用父类型的对象,(强制转换)

1.2面向对象名词扩展

  • OOA:⾯向对象分析
  • OOP:⾯向对象编程
  • OOD:⾯向对象设计

2. 类与对象的定义和使用

2.1 基本概念

类和对象的比较:

  • 类 :共性的概念
  • 对象 :具体的,可以使用的事物

先产生类,再产生对象,类是对象的蓝图

对象的初始化顺序:静态代码块、实例代码块、构造函数

类中的组成:

  • 属性(变量,描述每个对象的具体特点)
  • 方法(操作的⾏为)

2.3 对象内存分析

Java内存区域 (简单的分为):栈内存和堆内存

  • 栈内存(虚拟机局部变量表):存放的是局部变量(包含编译期可知的各种基本数据类型、对象引用-即堆内存的地址,可以简单的理解为对象的名称),Java栈是与线程对应起来的,每当创建⼀个线程,JVM就会为这个线程创建⼀个对应的Java栈。
  • 堆内存:保存的是真正的数据,即对象的属性信息。(对象的存放位置,GC发生处)

2.4引用传递分析

引⽤传递的本质:⼀块堆内存可以被多个栈内存所指向

3.封装和构造方法

3.1 private 实现封装

要访问私有属性,按照Java的设计原则必须提供以下两种⽅法:

  • setter⽅法:主要⽤于进⾏属性内容的设置与修改
  • getter⽅法:主要⽤于属性内容的取得

private 实现封装的最⼤特征在于:只允许本类访问,⽽不允许外部类访问。

3.2 类的设计原则

编写类时,类中的所有属性必须使⽤private封装。属性若要被外部访问,必须定义setter、getter方法。

3.3 构造方法

构造⽅法就是使⽤关键字 new 实例化新对象时来进行调用的操作方法。

对于构造⽅法的定义,也需要遵循以下原则:

1.⽅法名称必须与类名称相同
2.构造⽅法没有返回值类型声明
3.每⼀个类中⼀定⾄少存在⼀个构造⽅法(没有明确定义,则系统⾃动⽣成⼀个⽆参构造

4.this关键字

this关键字主要有以下三个⽅⾯:

  • this调⽤本类属性
  • this调⽤本类⽅法
  • this表示当前对象

指代一个隐式的引用变量
this.属性——就是当前对象 指向未来要创建的对象。主方法new后的对象
this(有参传参);只能放类里第一行

5.static关键字(重要

5.1 static类属性

  • 描述共享属性,只需在属性前添加static关键字即可
  • static属性⼜称为类属性,保存在全局数据区的内存之中,所有对象都可以进⾏该数据区的访问.

结论:

访问static属性(类属性)应使⽤类名称.属性名;
所有的⾮static属性(实例变量)必须在对象实例化后使⽤,⽽static属性(类属性)不受对象实例化控制。
所有static 在类加载时就能被执行

6. Java抽象的概念abstract


文章作者: 张文军
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张文军 !
评论
 上一篇
单点登录 单点登录
Single Sign On (SSO),json web token(JWT)
2020-06-26
下一篇 
面试成果和收到offer 面试成果和收到offer
更多内容请关注: 锁清秋 这几天一直都比较忙,刚到公司(上海唯品会),好多人生的第一次(第一次租房,第一次实习,第一次上班。。。),难免有些兴奋。今天周末没事可做,想着写一篇文章记录一下自己的求职历程。 一、投递简历过程作为一个
2020-06-21