代码块的作用:用来初始化类、对象
代码块如果有修饰的话,只能是static
分类:静态代码块 非静态代码块
静态代码块:
内部可以有输出语句
随着类的加载而执行,而且只执行一次
作用:初始化类的信息
如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
静态的代码块中只能调用静态的属性、方法,不能调用非静态的结构
非静态代码块:
内部可以有输出语句
随着对象的创建而执行
每创建一个对象,就执行一次非静态代码块
作用:在对象创建时,对对象的属性进行初始化
如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
非静态代码块可以调用静态的属性、方法,以及非静态的属性、方法
对属性可以赋值的位置
默认初始化
显示初始化
构造器中初始化
有了对象后,可以通过”对象.属性”或者”对象.方法”的方式,进行赋值
在代码块中赋值
执行先后顺序:1 – 2 / 5 – 3 – 4
2和5谁写在前面就先执行谁
示例代码1234567891011121314151617181920212223242526package shangguiguTest.enumTest;/* 1.枚举类先提供对象,下面再写构造器, 2.注意对象写法较为省略,多个对象间用“,”,最后一个用“;" 3.所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。 */public enum enumTest { t1("春天","春暖花开"),//t1其实是一个对象,省略了new t2("夏天","夏日炎炎"), t3("秋天","秋高气爽"), t4("冬天","冰天雪地"); private final String s; private final String s1; enumTest(String s, String s1) ...
编程学习
未读封装get() set() 方法:
set() 方法中可以封装对属性的操作
IDEA快捷键A/t + insert 可快速生成 get() set() 方法
继承
在Java中,所有的类都默认直接或间接继承Object类;
在Java中只有单继承,没有多继承。即一个子类只能有一个父类,而一个父类可以有多个子类;
子类能够继承父类哪些属性或方法取决于父类的属性或方法的访问范围,即取决于public、private等修饰符;
父类的引用可以指向子类。
IDEA 快捷键ctrl + H 查看当前类的继承关系
this super 关键字
重写
重写的方法名必须相同;
重写的方法参数列表必须相同;
方法的修饰符:范围可以扩大但不能缩小;(public>protected>default>private)
抛出的异常范围可以被缩小但不能扩大;
只能是子类重写父类的方法,不能重写属性;
父类的成员方法只能被它的子类重写;
不能重写:声明为final、static类型的方法不能重写,但是static类型的能够再次声明;
重写的方法可以使用**@Overri ...
编程学习
未读注意事项
abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该方法就是抽象类;
抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类;
抽象类,不能用new关键字来创建对象,它是用来让子类继承的;
抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的;
子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也必须要声明为抽象类;
抽象类中可以写普通方法;
抽象类中一定有构造器;
注意匿名类的写法。

