java基础
2018-11-23 16:27:34 0 举报
AI智能生成
java学习路径,及学习详解
作者其他创作
大纲/内容
java流程控制
if else
switch case
while
do while
for
数组
java面向对象
类和对象
类和对象
类是模子,确定对象将会拥有的特性(属性)和行为(方法)
对象是类的实例表现
属性和方法
属性:对象具有的各种静态特性
方法:对象具有的各种动态行为
单一职责原则
有且只有一个引起功能变化的原因
new关键字
在堆中开辟新的内存空间
在堆中创建一个对象
在栈中创建对象的引用
目前知道的:=赋值为引用的只有new出来的变量
构造方法
与类名相同且没有返回值
只能在创建的时候调用
可以创建和构造方法同名的类方法,语法没有错误,但不推荐这么做
在没有设置构造方法时,系统会默认添加无参构造方法,当创建了构造方法,无参构造不会被默认创建
this
代表当前对象
this(参数);的形式调用同类的其他构造方法
成员属性的初识值
byte
0
short
0
int
0
long
0L
float
0.0f
double
0.0d
char
\u0000
boolean
false
对象
null
封装
概述
将类的的某些信息隐藏在类内部,不允许外部程序直接访问
通过该类提供的方法来隐藏信息的操作和访问
隐藏对象的信息
留出访问的接口
封装的代码实现
修改属性的可见性(属性设为private只有类内是可见的)
创建get/set方法(设为公有的public)
在get和set方法中加入属性的控制语句(对属性的合法性进行判断)
使用包进行类管理
同一个包中不能存在同名类
包的命名:域名倒叙+模块+功能
两个关键字
package
import
import java.util.*
import java.app.dog
如果util中也有dog类,java会使用直接解析到的类,也就是app下的类
使用module模块进行管理
更强层次的封装
需要导出相应的文件,别人在引入该模块时才能访问,未导入的不能访问
static(静态信息)
static加载属性前静态属性、类属性
用static修饰的成员是静态成员,也叫类成员(无论实例化多少对象,static属性是同一块内存空间)
静态属性在类被加载的时候被创建,直到类不再有对象被使用时才释放
因为静态成员对同一个类而言是唯一的,所以可以通过类名.属性访问
static加在方法前,静态方法、类方法
static不可以加在类前面,static不可以加在成员方法中
<b><font color="#f15a23" style="">在方法中可以调用类中的静态属性,在静态方法中不可以调用普通变量,可以直接调用静态成员</font></b>
如果非要调用非静态变量,可以在静态方法中实例化一个对象通过对象.非静态变量调用(还是不是调用的本类中的方法哦)
代码块
普通代码块 : 方法中的代码加上{}
构造代码块:直接在类中写代码加上{}
<b><font color="#f15a23">在对象被创建的时候调用:优先于构造方法</font></b>
静态代码块:在构造代码块之前加上static
<b><font color="#f15a23">类加载时调用,优先于构造代码块</font></b>
<b><font color="#f15a23">在虚拟机加载资源时优先执行</font></b>
代码块是在原来的位置划分了一个小的作用范围就像<b><font color="#f15a23">方法对类</font></b>一样,所以代码块中定义的变量也是局部变量(<b><font color="#f15a23">代码快中有用</font></b>)
继承
概述
一种类与类之间的关系
<b>使用已存在的类的定义作为基础创建新类</b>
新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类
继承的关系:满足A is B就可以形成继承关系
继承的实现
extends
子类可以访问父类<font color="#f15a23">非私有</font>成员(私有的不能访问)
方法的重写
重写父类的方法
<font color="#f15a23">只能 修改方法内容</font>不能修改返回值、方法名、参数列表等值
<h3><b><i><font color="#c41230">访问修饰符可以该变??????(下面访问修饰符讲解)</font></i></b></h3>
属性重写
在子类中定义与父类重名的属性
访问修饰符
private
只允许在本类中使用
默认
同包可以调用,不同包不可以访问
protected
同包都可以访问、<b><font color="#f15a23">挎包子类可以访问</font></b>、跨包的非子类不可以调用
public
公共的访问权限最大,允许在任意位置访问
访问修饰符对方法的重写的影响
<b><font color="#f15a23">重写方法的访问修饰符必须大于等于父类的访问权限</font></b>
super关键字
访问父类的方法属性
调用父类的构造方法
在子类中没有显式标注的话,执行时默认调用父类的无参构造
super()调用父类的构造方法
<b><font color="#f15a23">使用super()需要放在子类构造的第一句</font></b>
收藏
收藏
0 条评论
下一页