1. 构造函数(用来创建对象)
public 类名 (){
方法体
}
类名 对象名=new 类名();
一个类当中如果没有定义构造函数默认的是存在一个无参的构造函数,如果一定自己单独定义构造函数之后,默认的无参构造函数不存在
2. This关键字 当前对应的引用地址 主要就是区分成员变量名和局部变量名相同的时候通过this来表示成员变量
This.属性|行为
3. 面向的特征:
(1)封装:把属性和行为进行私有化的过程 private
封装之后其他的地方无法进行使用只能在本类的内部当中进行使用,如果想要在其他的地方进行应用的话,需要提供get方法和set方法
(2)继承 :从现有的类当中派生出来的新类被称为继承 extends
从父类当中获取到父类当中具体的数据
提高了代码的重复利用率
Public class 子类名 extends 父类名{
}
继承的只有未私有化的属性和行为
在创建子类对象的时候也会自动调用父类当中的构造函数来开辟空间
Java语言是一个单一继承语言
任何类的父类是object
Super 父类的内容
Super()语句来调用父类的构造函数 super使用在子类当中
方法的重写override: 继承
当父类当中方法不能满足子类的需求事,需要在子类当中进行重写父类当中的这个方法 这样的过程就是方法的重写 也叫覆写
4. Final关键字:
修饰变量 把变量变成常量
修饰符方法的时候,这个方法可以被子类进行继承,但是不能被子类进行重写
修饰类的时候不能被子类进行继承
多态
抽象
5. static 修饰符 表示的是静态的意思 类
静态的:
类内容:使用static修饰的内容
类变量:使用static修饰的成员变量
类方法:使用static修饰的成员方法
非静态的:
实例内容:没有使用static修饰的内容
实例变量:未使用static修饰的成员变量
实例方法:未使用static修饰的成员方法
在非静态的里面可以使用静态的也可以使用非静态的
静态的只能使用静态的不能使用非静态的
使用static修饰的变量或者是方法的时候多了一种调用方式 类名.属性|行为
没有使用static修饰的变量或者是方法只能使用对象名来进行调用
Static不能修饰类,但是可以修饰内部类
6. 静态代码块: 随着类的加在而进行加在
Static{
执行语句
}
实例代码块
随着对象的创建二进行加在但是优先于构造函数执行
类里面数据加载顺序:
父类当中静态变量
父类当中的静态代码块
子类的静态变量
子类当中的静态代码块
父类当中的非静态变量
父类的实例代码块
父类的构造函数
子类的实例变量
子类的实例代码块
子类的构造函数
7. 包(相当于计算机中文件夹的作用)
存储文件
归类的作用
(1)包的命名规则:
(1-1)全部小写
(1-2)域名倒着写 www.ujiuye.com com.ujiuye.www
com.a.a.aoffcn.entity 存储的实体类
Com.offcn.util 存储的是工具
Com.offcn.test 存储的测试类
(2)带有包名的如何进行运行
没有包的类 无法在有包的类当中进行导入,可以在无包的类中导入有包的类
8. 访问修饰符
权限问题
Public(公共的)
private 私有化 本类当中内部进行使用
default 默认的 什么都不写
只能在同包当中进行使用
不同包的子类不能访问
不同包的其他类也不能访问
Protected 受保护的
修饰类的访问修饰符有public default
访问修饰符权限从小到大进行排序:
Private--->default--->protected--->public
9. 中设模式(有23种)
解决问题的一种思路 也是软件设计的一种思路
单例设计模式:保证创建对象只有一个
创建对象 new 构造函数
(1)饿汉设计模式:
优点:实现起来比较简单,没有线程同步问题
缺点:当类进行加在过程当中,会初始化static的修饰的内容,并且会创建对象分配空间,比较占用内存
(2)懒汉设计模式:
优点:不占用多余的内存
缺点:线程不安全