java面向对象之抽像类

import java.util.Scanner;
//abstract:为类中添加这个修饰符,就变成抽象类
public abstract class Main {
    //假如这个方法只是一个约束,只是想有人帮我们实现,我们自己不写代码,那我们把他写成抽象方法就可以了
    //抽象方法只有方法名,没有方法实现
public abstract void doSom();
    

}
//抽象类所有的方法,继承了它的子类,都必须要实现它的方法,除非继承他的子类也是抽象类,那这些方法就是他的子类的子类去实现这些方法了
class A extends Main{
//当我们继承的抽象类中有抽象方法时,那我们是必须要实现抽象方法
    public  void doSom(){
        
    }
    
}

/*1.不能new这个抽象类,只能靠子类去实现他:约束!
    2.抽象类中可以定普通方法
    3.抽象方法必须写在抽象类中
    抽象的抽象:约束!
    
    思考:1.抽象类不能new 那有没有构造器


2.抽象类存在的意义! 把常用的代码抽象出来,提高开发的效率。
*/

 


package com.de.模板方法;
/*
 * 抽象类的应用:模板方法的设计模式
 */

public class SasrTest {
    public static void main(String[] args) {
        Udhgh t=new Udhgh();
        t.spunr();
    }
}
abstract class Tsd{
    //计算某部分代码要花费的时间
    public void spunr() {
        
        long stat=System.currentTimeMillis();//代码运行的时间
        this.cpde();//调用下面的抽象方法,这个是不确定的部分易变的部分
        long em=System.currentTimeMillis();//调完方法以后的时候
        System.out.println("花费的时间为"+(em-stat));
    }
    //但是不确定要获取那一部分代码,所以把这个方法设抽象方法
    public abstract void cpde();
}
class Udhgh extends Tsd{

    @Override
    public void cpde() {
    for (int i = 2; i < 1000; i++) {
        boolean isFd=true;
        for (int j = 2; j <=Math.sqrt(j); j++) {
            if (i%j==0) {
                isFd=false;
                break;
            }
        }
        if (isFd) {
            System.out.println(i);
            
        }
    }
        
    }
    
}

 

posted @ 2022-04-06 15:30  hollg  阅读(89)  评论(0)    收藏  举报