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的更多相关文章

  1. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  2. Java进阶(五十二)利用LOG4J生成服务日志

    Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...

  3. Java进阶之路

    Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序 ...

  4. Java进阶2 数组内存和对象的内存管理知识

    Java进阶2 数组内存和对象的内存管理知识 20131028 前言: 在面试的时候,如果是Java的编程语言,也许你认为没有什么可以问的,只能够说明你对于Java了解的太浅了,几乎就是两个星期的节奏 ...

  5. java进阶视频分享

    更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...

  6. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  7. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

    [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...

  8. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  9. Java线程间通信方式剖析——Java进阶(四)

    原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...

随机推荐

  1. Even Parity UVA - 11464 (枚举)

    从来没有觉得枚举有多费脑子的.但是这道题还是很香的. 思路:就是非常简单的枚举啦.   从一般的枚举开始考虑.一般的做法就是在所有的格子中有两种状态1, 0. 而一共有225个格子,所有一共要枚举的情 ...

  2. “百度杯”CTF比赛 十月场 Hash 复现

    进入题后老套路得到两个关键: 1.$hash=md5($sign.$key);the length of $sign is 8 2.key=123&hash=f9109d5f83921a551 ...

  3. php支持解密的加密算法示例

    其实只是对位运算符的一种简单的应用. <?php class Helper_Inpass{ private $keys='thisismytoken';//token function inpa ...

  4. Linux下的crontab

    Ubuntu服务器/var/log下没有cron日志,这里记录一下如何ubuntu server如何查看crontab日志 crontab记录日志 修改rsyslog sudo vim /etc/rs ...

  5. 播放包含flash内容的网页或flash内容, 无法显示相应flash内容

    问题描述 通过Messenger发布的html5网页到player, 如下图所示: 布局播放效果: 解决办法 从Cnario Player菜单栏打开Setting>>Canvas Cont ...

  6. python_正则表达式随笔

    webpage_regex = re.search(r'span_ed7[\s\S]*', dd) [\s\S]* 匹配多行,转义字符 webpage_regex = re.compile('< ...

  7. 4月22日MySQL学习

    前面学习的知识基本都是概念知识没有什么代码,然后还有图形界面来辅助学习. 今天学习了MySQL的存储引擎,最常用的两种 MYISAM:不支持事务,也不支持外键,但是访问速度快. INNODB:支持事务 ...

  8. Kafka如何保证消息的顺序性

    1. 问题 比如说我们建了一个 topic,有三个 partition.生产者在写的时候,其实可以指定一个 key,比如说我们指定了某个订单 id 作为 key,那么这个订单相关的数据,一定会被分发到 ...

  9. jquery笔记整理

    01-jquery简介 1)功能:     ·html元素选取     ·Html元素操作     ·Css操作     ·Html事件函数     ·JavaScript特效和动画     ·DOM ...

  10. 【CSA35G】【XSY3318】Counting Quests DP 拉格朗日反演 NTT

    题目大意 zjt 是个神仙. 一天,zjt 正在和 yww 玩猜数游戏. zjt 先想一个 \([1,n]\) 之间的整数 \(x\),然后 yww 开始向他问问题. yww 每次给 zjt 一个区间 ...