Java复习小结1.0
基本语法
声明:
class 类名{ //类:结构体,里面包含了属性(特征)和方法(行为)
//属性 (0个或多个)
类型 名称 = 值
// 方法 (行为,0个或多个)
void 方法名(){
逻辑代码
}
}
使用1.
静态代码块(可以多个):类的信息加载完成后,会自动调用静态代码块,可以完成静态属性的初始化功能。 对象准备创建时,也会自动调用代码块,但不是静态的
class User08 {
static {
// 静态代码块
System.out.println("静态代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行2");
}
static void test() {
System.out.println("test...");
}
{
System.out.println("代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行3");
}
{
System.out.println("代码块执行2");
}
}
TODO : 基本语法: 类名(){}
1. 构造方法也是方法,但是没有void关键字。
2. 方法名和类名完全 相同
3. 如果类中没有构造方法,那么JVM会提供默认的构造方法
4. 如果类中有构造方法,那么JVM不会提供默认的构造方法
5. 构造方法也是方法,所以也可以传递参数,但是一般传递参数的目的是用于对象属性的赋值
继承
TODO 面向对象 - Extends - 继承
面向对象变成中有3个非常重要的特征:继承,封装,多态
类存在父子关系:子类可以直接获取到父类的成员属性和成员方法。
类的继承只能是单继承,一个类只能有一个父类,不能存在多个父类
一个父类可以有多个子类
继承采用extends语法: 子类 extends 父类
父亲对象是在子类对象创建前创建完成,创建子类对象之前,会调用父类的构造方法完成父类的创建
默认情况下,子类对象构建时,会默认调用父类的构造方法完成父类对象的创建。使用的是super的方式,只不过JVM自动完成
如果父类提供构造方法,那么JVM不会提供默认的构造方法,那么子类应该显示调用super方法构建父类对象。
多态
TODO 面向对象 - 多态
所谓的多态,其实就是一个对象在不同场景下表现出来的不同状态和形态
多态语法其实就是对对象的使用场景进行了约束
一个对象可以使用的功能取决于引用变量的类型
重载
TODO 面向对象
一个类中,不能重复声明的相同的方法,也不能声明相同的属性
这里相同的方法指的是方法名,参数列表相同,和返回值类型无关
如果方法名相同,但是参数列表(个数,顺序,类型)不相同,会认为是不同的方法,只不过名称一样
这个操作在Java称之方法的重载
构造方法也存在方法的重载
如果在一个构造方法中。想要调用其他的构造方法,那么需要使用特殊的关键字:this
基本数据类型在匹配方法时,可以在数值不变的情况下,扩大数据的精度
byte类型无法和char类型做转换,char没有负数,但是byte存在负数
多态其实就是约束了对象的使用场景
//方法的重载:方法名相同,参数列表不同(个数,顺序,类型)
方法的重写
TODO 面向对象 - 重写
方法的重写:父类对象的方法其实主要体现通用性,无法在特殊的场合下使用
如果子类对象需要在特殊的场合下使用,那么就需要重写方法的逻辑,这个操作在Java中称之为方法的重写
这里的重写,并不意味着父类的方法被覆盖掉,只是在当前场合不使用。如果使用super关键字还是可以访问
方法的重写要求,子类的方法和父类的方法,方法名相同,返回值类型相同,参数列表要相同