Java abstract类的基本使用 和 [abstract类实现]打印1000以内的所有素数并输出时间
笔记:
/** 关键字abstract ,实现抽象类,相当于给出类的大纲,子类只管继承,但抽象类不可被实例化!
* 1.抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写所有的抽象方法.
*
* 2.abstract模板方法设计模式--
* 抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展/改造,
* 但子类在总体上会保留抽象类的行为方式.
*/
代码:
package Coding; public class Main_of_Coding { //TestAbstract
public static void main(String[] args) {
new SubTemple().spendtime(); //[abstract类实现]打印1000以内的所有素数并输出时间
}
}
abstract class Temple{
public abstract void code(); //这个方法抽象,需要重写
public void spendtime(){ //这个方法不抽象,不用重写
long start =System.currentTimeMillis();
this.code();
long end=System.currentTimeMillis();
System.out.print("cost time is: "+ (end-start));
}
}
class SubTemple extends Temple{
@Override
public void code() {
boolean f=false;
for(int i=2;i<=1000;i++){
for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
f=true;
break;
}
}
if(!f){
System.out.print(" "+i);
if(i%10%7==0) System.out.println();
}
f=false;
}
}
}
结果: (最后一位为7的话自动换行)
2 3 5 7
11 13 17
19 23 29 31 37
41 43 47
53 59 61 67
71 73 79 83 89 97
101 103 107
109 113 127
131 137
139 149 151 157
163 167
173 179 181 191 193 197
199 211 223 227
229 233 239 241 251 257
263 269 271 277
281 283 293 307
311 313 317
331 337
347
349 353 359 367
373 379 383 389 397
401 409 419 421 431 433 439 443 449 457
461 463 467
479 487
491 499 503 509 521 523 541 547
557
563 569 571 577
587
593 599 601 607
613 617
619 631 641 643 647
653 659 661 673 677
683 691 701 709 719 727
733 739 743 751 757
761 769 773 787
797
809 811 821 823 827
829 839 853 857
859 863 877
881 883 887
907
911 919 929 937
941 947
953 967
971 977
983 991 997
cost time is: 30
Java abstract类的基本使用 和 [abstract类实现]打印1000以内的所有素数并输出时间的更多相关文章
- java打印1000内的质数并用表格输出
<table width='500' border='1'><% int c=1; for(int i=2;i<=1000;i++){ int n=0; for(int j=2 ...
- java面试题0004-在一个类上是否可以用abstract和final同时加以修饰?
我们先用提干两个修饰词中的任意一个创建一个类 package components.javaTest.day4_20200910; /** * Question004: * java面试题0004-在 ...
- java的this static public protected private abstract interface 在python的对应,java python一些区别
1.因为工作的原因,最近使用了三个多月的java作为主力语言.很早之前在菜鸟教程也看过java文档两遍,但实践少,处于能看懂写出来不流畅的状态(对于java必须要略懂,不能能看到就头疼跳过,因为现在百 ...
- C++虚函数virtual,纯虚函数pure virtual和Java抽象函数abstract,接口interface与抽象类abstract class的比较
由于C++和Java都是面向对象的编程语言,它们的多态性就分别靠虚函数和抽象函数来实现. C++的虚函数可以在子类中重写,调用是根据实际的对象来判别的,而不是通过指针类型(普通函数的调用是根据当前指针 ...
- 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?
为什么java的接口的方法是public abstract修饰? 1.首先要明白接口的定义和作用是什么: 接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修 ...
- JAVA类与对象(三)----类定义关键字详解
static 表示静态,它可以修饰属性,方法和代码块. 1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有.这个属性就是全类 ...
- JAVA类与对象(二)----类定义基础
类是组成java程序的基本要素,是java中的一种重要的复合数据类型.它封装了一类对象的状态和方法,是这一类对象的原型.一个类的实现包括两个部分:类声明和类体,基本格式: class <clas ...
- Java中Super和final关键字以及异常类
1.final类不能有子类,也就谈不上继承的说法,如果用final修饰成员变量或者局部变量,那成了常量需要制定常量的值. 2.对象的上转型对象,上转型对象不能操作子类新增的成员变量,不能调用子类新增的 ...
- 详解Java中格式化日期的DateFormat与SimpleDateFormat类
DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat ...
随机推荐
- 区块链学习(四)truffle部署编译智能合约以太坊私有链
前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04 Truf ...
- 三节课MINI计划第三周
第一部分 微信读书的产品分析 一.任务背景 二.做什么 三.TASK8 业务流程图 四.TASK9 五.周会 六.周报
- IBM.WMQ订阅主题,连续获取消息解决办法
去队列里面一直获取消息,一开始想到了两种解决方案: 第一:订阅一次获取一次消息,正常的话每次都能获取到,但是要及时去清理订阅并且时间粒度不好控制 第二:订阅一次,再获取消息这里加死循环,超时MQ已经做 ...
- 前端入门系列之CSS
CSS (Cascading Style Sheets) 是用来样式化和排版你的网页的 —— 例如更改网页内容的字体.颜色.大小和间距,将内容分割成多列或者加入动画以及别的装饰型效果. CSS是什么 ...
- 洛谷 题解 P3627 【[APIO2009]抢掠计划】
图论 tarjan缩点+最短路 的一道题 tarjan求强连通分量(为以后缩点打下良好的基础) (如果不会tarjan的请点击这儿) 你需要的东西: (1).dfn[],表示这个点在dfs时是第几个被 ...
- IO操作-BIO
BIO:block IO,即同步阻塞IO,主要应用于文件 IO 和网络 IO 这里主要说一下网络IO,以Socket编程为例进行说明 1.先建立Socket服务端 //BIO 服务器端程序 publi ...
- 《Mysql - 为什么表数据删掉一半,表文件大小不变?》
一:概念 - 这里,我们还是针对 MySQL 中应用最广泛的 InnoDB 引擎展开讨论. - 一个 InnoDB 表包含两部分,即:表结构定义和数据. - 在 MySQL 8.0 版本以前,表结构是 ...
- 第6章:LeetCode--数组(冒泡排序、快速排序)
11. Container With Most Water class Solution { public: int maxArea(vector<int>& height) { ...
- C++Primer 5th Chap3 Strings,Vectors, and Arrays
使用名字空间成员的简单方法: using namespace ::name;例如:using std::cin; 头文件不应包含using声明 标准库类型string:(需要带有头文件#include ...
- 位、字,字节与KB的关系?
位:我们常说的bit,位就是传说中提到的计算机中的最小数据单位:说白了就是0或者1:计算机内存中的存储都是01这两个东西. 字节:英文单词:(byte),byte是存储空间的基本计量单位.1byte ...