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 ...
随机推荐
- golang web框架 beego 学习 (五) 配置文件
app.conf: appname = gowebProject httpport = runmode = dev copyrequestbody = true [db] host= localhos ...
- 跨域及jsonp
什么是跨域? 要解释跨域,就要先说明下什么是域?域的英文名是Domain,百度百科给的定义是: 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust ...
- JAVA 字节码操作利器javassist
引用:http://blog.csdn.net/hudashi/article/details/50884742 http://blog.csdn.net/haitaofeiyang/article/ ...
- super的实例及实现原理
super实例 class A(): def go(self): print ("go A go!") def stop(self): print ("stop A st ...
- Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
mysql使用可视化界面登录使用的时候都没问题,只要使用xhell命令进入mysql就报异常 Can't connect to local MySQL server through socket '/ ...
- [转帖]详解shell脚本括号区别--$()、$「 」、$「 」 、$(()) 、「 」 、「[ 」]
详解shell脚本括号区别--$().$「 」.$「 」 .$(()) .「 」 .「[ 」] 原创 波波说运维 2019-07-31 00:01:00 https://www.toutiao.com ...
- Navicat通过跳板机连接MySQL(2层跳转)
情景描述,公司开发数据库部署在内网,而且这个开发数据库有连接需要有IP验证,就是只能在内网的某个IP才能连接,所以每次连接都会先连接外网能访问的跳板机,在从跳板机上ssh到内网上的A机器,在从A机 ...
- Python之系统编程笔记
概念 命令行工具. Shell 脚本. 系统管理 系统模块 sys 提供一组功能映射Python运行时的操作系统 os 提供跨平台可移植的操作系统编程接口 os.path 提供文件及目 ...
- asp.net core-8. 配置的热更新
在asp.net core 发布了以后,在修改配置文件以后不需要重新发布,要实现只需要修改@inject IOptions<WebApplication1.Class> ClassAcce ...
- PHP对程序员的要求更高
我这个文章标题可不是和大家开玩笑的哦 首先, 大家都知道, PHP也是一种编译型脚本语言, 和其他的预编译型语言不同, 它不是编译成中间代码, 然后发布.. 而是每次运行都需要编译.. 为此, 也 ...