Java中的abstract方法和abstract类的问题
1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。 2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。 注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也…
1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。 2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。 注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也…
1 判断是否为linux系统 public static final String OS_NAME = System.getProperty("os.name"); if (OS_NAME != null && OS_NAME.toLowerCase().indexOf("linux") >= 0) { isLinuxPlatform = true; } 2 获取cpu个数 …
Java基础语法 流程控制语句 if…else if…else if…else 多分支语法格式: if(条件判断){ } else if(条件判断){ } else if(条件判断){ } else { } 适合与多条件的判断,但是 if else过多,会导致程序的阅读性下降 优势 : 高效的优势,只要有一个if的条件判断结果是true,整体的语句结构就结束了 public static void…
需求背景 之前遇到过需要后端,根据每个用户生成带背景宣传图带二维码带用户图片带文字的合成图片的需求,自己当时花了半天的时间整理了资料,今天把自己写的代码分享出来,如果有同样需求的人,希望能给个好评,有其他建议的童鞋,可以一起讨论交流。 文章下面贴有项目地址,感谢star 项目整合了二维码和日志,有需要的童鞋也可以做参考 图片缓冲类 BufferedImage BufferedImage类是Imag…
我们知道线程执行时机是CPU时间片轮询策略决定的,那么有没有办法让线程按指定的顺序执行呢?下面就通过JAVA提供的两种API来实现。 1.首先定义三个线程对象,用来模拟多线程执行顺序。 static Thread thread1 = new Thread(new Runnable() { @Overridepublic void run() { System.out.println("1"); }…
招行收款通支付对接来了个国密sm2,sm3,文档也写得不完整,给的demo还是java,哎苦了我们php的,现在直接给出php版本 $post_data = [ 'version'=>'2.0', 'merchId'=>$merchId, //商户号 'payNo'=>$payNo, 'orderId' => $orderId, 'feeAmt'=>$money, '…
Maven pom.xml引入 jitpack.io https://jitpack.io com.github.ipfs java-ipfs-api $LATEST_VERSION 创建节点 IPFS ipfs = new IPFS(new MultiAddress("/ip4/127.0.0.1/tcp/8888")); 初始化IPFS 加载 ipfs.refs.local(); 要添加文件使…
作者:录录,2016年加入美团点评,主要负责北京业务安全中心对接服务的后台研发工作。 当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC…
技术有限,才疏学浅,如有表述不正确或有不足,欢迎吐槽、指导和交流。 ———————————————————————————————————— Java中 == 和 equals()的使用非常频繁, 以及String类的compareTo()和compareToIgnoreCase()的使用也很多,这里根据源代码分析一下各自的原理和区别。 1、== 运算符 == 是一个比较运算符。可用于基本数据类型…
首先描述下所要实现的功能点: MainActivity使用Fragment实现底部菜单,底部共有四个菜单按钮,分别对应:AFragment,BFragment,CFragment,DFragment。其中AFragment是默认显示。 点击CFragment中的一个button后跳转到第二个Activity界面:SecondActivity。 SecondActivity返回键有两个:button…