java基础
2018-11-23 16:27:34 0 举报
AI智能生成
java学习路径,及学习详解
作者其他创作
大纲/内容
java基础
java流程控制
if else
switch case
while
do while
for
数组
java面向对象
类和对象
类是模子,确定对象将会拥有的特性(属性)和行为(方法)
对象是类的实例表现
属性和方法
属性:对象具有的各种静态特性
方法:对象具有的各种动态行为
单一职责原则
有且只有一个引起功能变化的原因
new关键字
在堆中开辟新的内存空间
在堆中创建一个对象
在栈中创建对象的引用
目前知道的:=赋值为引用的只有new出来的变量
构造方法
与类名相同且没有返回值
只能在创建的时候调用
可以创建和构造方法同名的类方法,语法没有错误,但不推荐这么做
在没有设置构造方法时,系统会默认添加无参构造方法,当创建了构造方法,无参构造不会被默认创建
this
代表当前对象
this(参数);的形式调用同类的其他构造方法
成员属性的初识值
byte
0
short
int
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不可以加在成员方法中
在方法中可以调用类中的静态属性,在静态方法中不可以调用普通变量,可以直接调用静态成员
如果非要调用非静态变量,可以在静态方法中实例化一个对象通过对象.非静态变量调用(还是不是调用的本类中的方法哦)
代码块
普通代码块 : 方法中的代码加上{}
构造代码块:直接在类中写代码加上{}
在对象被创建的时候调用:优先于构造方法
静态代码块:在构造代码块之前加上static
类加载时调用,优先于构造代码块
在虚拟机加载资源时优先执行
代码块是在原来的位置划分了一个小的作用范围就像方法对类一样,所以代码块中定义的变量也是局部变量(代码快中有用)
继承
一种类与类之间的关系
使用已存在的类的定义作为基础创建新类
新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类
继承的关系:满足A is B就可以形成继承关系
继承的实现
extends
子类可以访问父类非私有成员(私有的不能访问)
方法的重写
重写父类的方法
只能 修改方法内容不能修改返回值、方法名、参数列表等值
访问修饰符可以该变??????(下面访问修饰符讲解)
属性重写
在子类中定义与父类重名的属性
访问修饰符
private
只允许在本类中使用
默认
同包可以调用,不同包不可以访问
protected
同包都可以访问、挎包子类可以访问、跨包的非子类不可以调用
public
公共的访问权限最大,允许在任意位置访问
访问修饰符对方法的重写的影响
重写方法的访问修饰符必须大于等于父类的访问权限
super关键字
访问父类的方法属性
调用父类的构造方法
在子类中没有显式标注的话,执行时默认调用父类的无参构造
super()调用父类的构造方法
使用super()需要放在子类构造的第一句
收藏
收藏
0 条评论
回复 删除
下一页