Memoryizz

java 06 重写和final

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~~");
}
}


}

posted on 2018-12-11 22:19  Memoryizz  阅读(305)  评论(0编辑  收藏  举报

导航