一、今日学习
1.static关键字
static关键字的访问不需要某个特定的实例,在成员声明前加上static就能创建这种成员
(1)静态变量:
-
在变量前面加上static关键词即可
-
静态变量不需要通过对象来访问,直接使用“类名.变量名”直接访问,并且该变量不属于具体的哪一对象。
(2)静态方法:
-
在方法前加上static关键字即可
-
可以使用“类名.方法名()”来调用,并不需要通过对象来调用
(3)静态代码块
-
static代码块也叫静态代码块,可以有多个,并且位置可以随便放
-
它不在任何的方法体内,JVM加载类时会执行这些静态的代码块
-
static代码块会优先与构造器执行,如果static代码块有多个,JYM将按照它们在类中出现的先后顺序依次执行,每个代码块只能被执行一次
2.final关键字
(1)final属性
final修饰属性,代表该属性是常量,并且该属性不能修改,一旦修改,编译时报错!
(2)final方法
final修饰方法时,该方法不能被重写。重写——如果父类的方法是私有类型,子类允许定义其同名方法
(3)final类
使用final修饰类,代表该类是不能被继承的
3.abstract关键字
(1)抽象类:
-
使用abstract修饰类,叫做抽象类
-
抽象类中既有抽象方法也有具体实现的方法
-
抽象类必须由其子类继承,才能实例化对象
-
定义:abstract class 类名()
(2)抽象方法
-
在抽象类中,用abstract修饰方法,表示该方法是抽象方法
-
抽象方法只声明方法头,没有方法体
- 要使用抽象类中的抽象方法,必须由抽象类的子类来实现
1 public abstract class Type{ 2 public abstract double area(); 3 public void info(){ 4 System.out.println("我是图形"); 5 } 6 } 7 public class Circle extends Type{ 8 private static final double PI=3.14; 9 private int r=5; 10 @Override 11 public double area() { 12 double area=PI*r*r; 13 return area; 14 } 15 public void info() { 16 Systrm.out.println("我是圆形"); 17 } 18 public static void main(String[] args) { 19 Type type=new Circle(); 20 type.area(); 21 type.info(); 22 } 23 }
(3)总结:
-
抽象类中既有抽象方法,也有非抽象方法
-
有抽象方法的类一定是抽象类
-
抽象类中不一定有抽象方法
二、遇到问题
无
三、明日学习
1.完成第五章的综合实例以及练习
2.完成周进度报告