final
-------------------------------
1.修饰方法
方法:
final class Dog{}不能被继承 不能被重写
2.修饰的函数
方法:final class(){} 不能被重写
3.修饰的字段
类的成员
---------------------------------
1.成员变量
2.成员函数
3.构造代码块
4.构造函数
5静态代码块
6.内部类
内部类:
----------------------------------------
1.定义在class内部的类。
2.编译产生的outerclass$innerc.class
new Benz().fire();调用内部类中的方法
加final的修饰class
-----------------------------------------------------
class FinalDeom{
public static void main(String[] args){
Jing8 j = new Jing8 ();
j.watch();
}
}
final class Dog{
public void watch(){
System.out.println("来人了~~");
}
}
class Jing8 extends Dog{
public void watch(){
System.out.println("问一下~~");
super.watch();
}
}
加final 修饰方法 不能被重写会报错
-----------------------------------
class FinalDeom{
public static void main(String[] args){
Jing8 j = new Jing8 ();
j.watch();
}
}
class Dog{
//final 修饰方法 不能被重写
public final void watch(){
System.out.println("来人了~~");
}
}
class Jing8 extends Dog{
public void watch(){
System.out.println("问一下~~");
super.watch();
}
}
final 修饰常量 不能被赋值
--------------------------------------------
class FinalDeom{
public static void main(String[] args){
Jing8 j = new Jing8 ();
j.name = "王春梅";
j.watch();
System.out.println(j.name);
}
}
class Dog{
//常量
public final String name ="哈哈哈";
public void watch(){
System.out.println("来人了~~");
}
}
class Jing8 extends Dog{
public void watch(){
System.out.println("问一下~~");
super.watch();
}
}
习题
---------------------------------------------
class FinalDeom2{
public static void main(String[] args){
Benz c = new Benz ();
c.fire();
c.color = "red";
System.out.println(c.color);
c.tires = 5;
System.out.println(c.tires);
c.run();
}
}
class Car{
public String color;
public int tires;
public void run(){
System.out.println("200无敌~~");
}
}
class Benz extends Car{
private String brand ="BENZ";
public final void fire(){
System.out.println("bombom~~");
}
}
调用内部类
-----------------------------------------------
class FinalDeom2{
public static void main(String[] args){
Benz c = new Benz ();
c.run();
}
}
class Car{
public String color ="黑色";
public int tires;
public void run(){
new Benz().fire();//匿名调用内部类中的方法
System.out.println("200无敌~~");
}
class Benz {
public final void fire(){
System.out.println("bombom~~");
}
}
}