JAVA进阶22
1、接口默认方法的使用
①接口的默认方法可以通过接口实现类对象直接调用。
②接口的默认方法也可以被接口实现类进行覆盖重写
package cn.intcast.demo17;
public interface MyInterfaceDefault {
//抽象方法
public abstract void methodAbs();
// void AAA();
public default void methodA(){
System.out.println("this is a default method!");
}
}
接口类1
package cn.intcast.demo17;
public class MyInterfaceDefaultA implements MyInterfaceDefault {
@Override
public void methodAbs() {
System.out.println("实现了抽象 方法,AAA;");
}
}
接口实现类
package cn.intcast.demo17;
public class Code01Interface {
public static void main(String[] args) {
//创建实现类对象
MyInterfaceDefaultA s = new MyInterfaceDefaultA();
//调用抽象方法,如果实现类当中没有,会向上找接口
s.methodA();
s.methodAbs();
}
}
运行结果图

2、接口的静态方法使用
接口中的静态方法可以通过接口名称,调用其中的静态方法
格式:接口名称.静态方法名(参数)
package cn.intcast.demo17;
public interface StaticInterface {
public static void staticmethod(){
System.out.println("this is a static method!");
}
}
静态方法
package cn.intcast.demo17;
public class CodeStatic {
public static void main(String[] args) {
StaticInterface.staticmethod();
}
}
运行结果图

3、Collections工具类
package cn.demo01; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List; public class Test03 {
public static void main(String[] args){
List<String> aList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
aList.add("a"+i);
}
System.out.println(aList);
//随机排查
Collections.shuffle(aList);
System.out.println(aList);
//逆序
Collections.reverse(aList);
System.out.println(aList);
//顺序
Collections.sort(aList);
System.out.println(aList);
System.out.println(Collections.binarySearch(aList,"a2"));
Collections.fill(aList,"hello");
System.out.println(aList);
}
}
运行结果图

4、ORM思想的简单实验:map表示一行数据,多行数据是多个map;将多个map放到list中(存放表格数据)
package cn.demo01;
import java.util.*;
public class TestTableDate01 {
public static void main(String[] args) {
Map<String,Object> row1 = new HashMap<>();
row1.put("id",101);
row1.put("姓名","张一");
row1.put("age",18);
Map<String,Object> row2 = new HashMap<>();
row2.put("id",102);
row2.put("姓名","张二");
row2.put("age",22);
List<Map<String,Object>> table1 = new ArrayList<>();
table1.add(row1);
table1.add(row2);
for (Map<String,Object> row:table1){
Set<String> keyset = row.keySet();
for (String key:keyset){
System.out.print(key+":"+row.get(key)+"\t");
}
System.out.println();
}
}
}
运行结果图

5、表格数据的存储
package cn.demo01; import java.util.ArrayList;
import java.util.List; public class TestTableDate02 {
public static void main(String[] args) {
User u1 = new User(101,"王大",20,88);
User u2 = new User(102,"王二",23,85);
User u3 = new User(103,"王三",20,84); List<User> list = new ArrayList<>();
list.add(u1);
list.add(u2);
list.add(u3); for (User u:list){
System.out.println(u);
}
}
} class User{
private int id;
private String name;
private int age;
private double grade; public User() {
} public User(int id, String name, int age, double grade) {
this.id = id;
this.name = name;
this.age = age;
this.grade = grade;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public double getGrade() {
return grade;
} public void setGrade(double grade) {
this.grade = grade;
} public String toString(){
return "id:"+id+"\t"+"name:"+name+"\t"+"grade:"+grade+"\t"+"age:"+age+"\t";
}
}
运行结果图

JAVA进阶22的更多相关文章
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- Java进阶(五十二)利用LOG4J生成服务日志
Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...
- Java进阶之路
Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序 ...
- Java进阶2 数组内存和对象的内存管理知识
Java进阶2 数组内存和对象的内存管理知识 20131028 前言: 在面试的时候,如果是Java的编程语言,也许你认为没有什么可以问的,只能够说明你对于Java了解的太浅了,几乎就是两个星期的节奏 ...
- java进阶视频分享
更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS
[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java线程间通信方式剖析——Java进阶(四)
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...
随机推荐
- 深入学习:Windows下Git新手教程(上)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangyabin001/article/details/35557231 一,安装Git: 1.1 ...
- TensorRT&Sample&Python[yolov3_onnx]
本文是基于TensorRT 5.0.2基础上,关于其内部的yolov3_onnx例子的分析和介绍. 本例子展示一个完整的ONNX的pipline,在tensorrt 5.0的ONNX-TensorRT ...
- day09(垃圾回收机制)
1,复习 文件处理 1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读写 ...
- 微信网页分享 jssdk config:invalid signature 签名错误
invalid signature签名错误.建议按如下顺序检查: 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisi ...
- MongoDB系列:三、springboot整合mongoDB的简单demo
在上篇 MongoDB常用操作练习 中,我们在命令提示符窗口使用简单的mongdb的方法操作数据库,实现增删改查及其他的功能.在本篇中,我们将mongodb与spring boot进行整合,也就是在j ...
- 360大牛:全面解读PHP面试
让大家了解基本面试流程和面试的核心要求以及意义是什么并理解PHP面试考点主要以基础为核心,说明PHP面试考察范围. 有需要联系:QQ:1844912514
- P1744 采购特价商品
原题链接 https://www.luogu.org/problemnew/show/P1744 一道最短路的模板题.....很简单吧 求最短路的方法有很多,但是对于刚学完Floyd的我,只会用这个. ...
- 洛谷P1197 [JSOI2008]星球大战
题目 由于题目不要求强制在线,所以可以离线. 而离线的话就会带来许多便利,所以我们可以先处理出全部打击后的图,通过并查集来判断是否连通. 然后再从后往前枚举,得出答案 #include <bit ...
- 【XSY3309】Dreamweaver 高斯消元 拉格朗日插值
题目大意 这是一道通信题. 给你 \(8\) 个 \(32\) 位整数.加密端要把这些数加密成至少 \(1000\) 个 \(32\) 位整数,交互库会把这些整数随机打乱后发给解密端,解密端最多能获得 ...
- nginx 配置详解(转)
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...