Java_抽象

2021-05-28 11:00

阅读:608

标签:final   完成   方法   本质   nbsp   extends   expand   执行   extend   

抽象的基本使用

抽象的关键字是abstract,可以用来修饰类(抽象类),还可以修饰方法(抽象方法)。

 1 //抽象类
 2 public abstract class Animal{
 3     //抽象方法
 4     public abstract void eat();
 5     //抽象方法
 6     public abstract void sleep();
 7 }
 8 
 9 public class Dog extends Animal{
10     @Override
11     public void eat(){
12         System.out.println("狗吃骨头");
13     } 
14     
15     @Override
16     public void sleep(){
17         System.out.println("狗在窝里睡");
18     } 
19 } 

 

抽象的注意事项

1.抽象类中可以有抽象方法,也可以有非抽象方法
2.有抽象方法的类,必须是抽象类
3.抽象方法不能写方法体
4.具体的子类继承抽象类,必须重写父类中所有的抽象方法。否则就让子类继续抽象
5.抽象类不能创建对象

 

模板设计模式

在一个父类中定要好一些方法,有些方法是抽象的,有些方法是具体的。当子类继承父类的时候,只需要重写父类的抽象方法,完成自己的功能就可以了。

 1 //作文的模板
 2 public abstract class Teamplate{
 3     //写作为的方法  
 4     public void write(){
 5         //开头
 6         System.out.println("这是作文的开头。。。");
 7         
 8         //正文(交给子类是完成)
 9         body():
10         
11         //结尾
12         System.out.println("这是作文的结束。。。");
13     }
14     
15     //正文的方法(抽象方法)
16     public abstract void body(); 
17 }
18 
19 
20 //写一个子类,继承Teamplate
21 public class Tom extends Teamplate{
22     public void body(){
23         System.out.println("这是Tom写的作文的正文");
24     }
25 }
26 
27 public class Test{
28     public static void main(){
29         Tom t=new Tom();
30         t.write();
31     }
32 }

 

final关键字

final是最终的意思,可以用来修饰类、方法、变量

1.final修饰类,不能被继承
2.final修饰方法,不能被重写
3.final修饰变量,不能被修改(final修饰的变量,值不能被赋值一次)
如果是引用类型,指的是地址值不能被更改

 

代码块

代码块本质上是一对大括号,在类中的位置不同,作用也不同。

局部代码块:在方法中,用于限定变量的作用范围

构造代码块:在类中方法外,用来提取构造方法的共性代码
每次创建对象,都会先执行构造代码块,再执行对应的构造方法。

静态代码块:被static修饰的代码块,在类中方法外。用作一些初始化的操作
当使用到这个类的时候,static代码会自动执行,而且只执行一次。

Java_抽象

标签:final   完成   方法   本质   nbsp   extends   expand   执行   extend   

原文地址:https://www.cnblogs.com/xujun168/p/14786330.html


评论


亲,登录后才可以留言!