JAVA复习笔记02
16、interface中的成员变量默认为public static final类型,方法只能是public(默认为public)
17、内部类访问外部类成员:
Outer.this.num;
18、一道有趣的题目
使用内部类实现该程序。(答案附在本文末尾)
interface Inter {
void show();
}
class Outer {
/*
*/
}
public class Test {
public static void main(String[] args) {
Outer.method().show();
}
}
19、实例化内部类的方式
Outer.Inner inner=new Outer().new Inner();
静态内部类
Outer.Inner inner=new Outer.Inner();
20、泛型的使用
类中使用
class Test<T>{}
方法中使用
public <T,S extends T> void testDemo(T t,S s){}
这样定义时,要求传入的S必须要是T的子类
这样写也无妨:
public <T,S extends T> void testDemo(){}
只是没有卵用,因为在里面定义的T的变量不能初始化。
21、通配符
public void testDemo(List<?> s)
它等价于
public <T> void testDemo(List<T> s)
通配符只在修饰变量中用到。
22、异常处理
throw扔出异常,如果本方法中catch了,就处理,没有就扔到上级方法。
finally会在返回前,把返回值压栈然后执行,执行完后弹出返回。(延伸链接:https://www.cnblogs.com/justinli/p/4067998.html)
23、float z=12.14f; //没有f会被看做是double而报错
24、System.out 是一个PrintStream(你可以通过查看源码来了解它是如何运行的)
25、java标识符:52个字母,数字,下划线,美元符$;不能数字开头,不能是关键字,不能有空格
26、逻辑表达式的返回值
false:1:'a'
如果两边同类型,则返回该类型。
如果一边是byte,short,char,另一边是int,且不溢出,则结果为byte,short,char类型。
不符合上述条件,隐式转换为高精度类型。
27、switch支持的六种类型
byte short char int enum String(java7后)
28、函数调用参数为null时,会调用参数最子类的方法,如果最底层有2个或以上的兄弟类,则会报错。
参考链接:https://www.cnblogs.com/holybell/p/6568939.html
29、协变
父类的一个方法返回另一个类的父类;
子类的这个方法返回另一个类的子类。
例:
class Flower {
Plant kind() {
return new Plant();
}
}
class Luoyangred extends Flower {
Peony kind() {
return new Peony();
}
}
30、interface中可定义内部类,默认为public static
附:18的答案
interface Inter {
void show();
}
class Outer {
public static Inter method(){
return new Inter(){
public void show(){
System.out.println("oo");
}
};
}
}
public class Test {
public static void main(String[] args) {
Outer.method().show();
}
}
JAVA复习笔记02的更多相关文章
- java复习笔记
本笔记(无异常处理与网络编程部分)整理自<java程序设计>-黄岚 王岩 王康平 编著 java数据 UI I/O java线程 数据库操作 Java数 ...
- JAVA复习笔记分布式篇:zookeeper
前言:终于到分布式篇,前面把JAVA的一些核心知识复习了一遍,也是一个JAVA程序员最基本要掌握的知识点,接下来分布式的知识点算是互联网行业的JAVA程序员必备的技能: 概念:ZooK ...
- 【私人向】Java复习笔记
此笔记学习于慕课网:Java入门第一季-第三季,想学的可以点击链接进行学习,笔记仅为私人收藏 建议学习时间:2-3天(极速版) 数据类型 基本数据类型存的是数据本身 引用类型变量(class.inte ...
- Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...
- 【8-20】java学习笔记02
others 初始化块在构造器前执行: 静态初始化块和实例变量显示初始化执行顺序为各自定义的位置: final类不能派生子类,final方法不可覆盖,final变量不可重新赋值: 判定值相等,Stri ...
- Java复习笔记--java中this 关键字
Java中this关键字,this可以调用类的成员变量和成员方法,this还可以调用类中的构造方法.使用这种方式值得注意的是, 只可以在无参构造方法中的第一句使用this关键字调用有参构造方法. pu ...
- 【Java】Java复习笔记-第四部分
反射 反射: 在运行时动态分析或使用一个类进行工作. java.lang.Class类:描述类信息的类. 类对象:描述一个类信息的对象,当虚拟机加载类的时候,就会创建这个类的类对象并加载该对象,Cla ...
- 【Java】Java复习笔记-三大排序算法,堆栈队列,生成无重复的随机数列
冒泡排序 package com.lcw.bubble; public class BubbleSort { /** * 冒泡排序 * @param args * @author 成鹏致远 */ pu ...
- 【Java】Java复习笔记-第三部分
修饰符abstract 抽象的,定义框架不去实现,可以修饰类和方法 abstract修饰类: 会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型 抽象类 ...
随机推荐
- Qt程序调试之Q_ASSERT断言(条件为真则跳过,否则直接异常+崩溃)
在使用Qt开发大型软件时,难免要调试程序,以确保程序内的运算结果符合我们的预期.在不符合预期结果时,就直接将程序断下,以便我们修改. 这就用到了Qt中的调试断言 - Q_ASSERT. 用一个小例子来 ...
- 嵌入式Linux开发环境的搭建
一个.制造u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ../u-boot-1. ...
- TASM 5.0 安装及使用教程
安装TASM 5.0很简单,您只需要下载本站[相关工具]中的"TASM50.zip"文件,解压后在Windows9x/NT下执行"INSTALL.EXE"即可开 ...
- 1 min 数据查询 SQL 优化
问题 前几天线上数据库 IOPS 飙升,一直居高不下,最近并没有升级.遂查看数据库正在执行的 SQL 语句,发现有个查询离线设备的语句极其缓慢. 探寻原因 SELECT o.* FROM ( SELE ...
- WPF Textblock Run 空白问题
消除Run之前的空白是将Run标签布局时头尾相连 如: <TextBlock > <Run Text="A"></Run> <Run Te ...
- WP 8.1 中挂起时页面数据保存方式(1)
1.保存到Applicaion Data配置信息中: 保存: privatevoid testTB_TextChanged(object sender, TextChangedEventArgs e) ...
- Docker笔记01-发布一个dotnetcore应用
OS:Widows 10 IDE: VS2017 Docker:Docker Desktop for Windows Windows下安装Docker需要先启用Hyper-v 在Windows 容器的 ...
- How to Move SSL certificate from Apache to Tomcat
https://www.sslsupportdesk.com/how-to-move-ssl-certificate-from-apache-to-tomcat/ Apache uses x509 p ...
- Wolf RPG Editor游戏解包
前言 使用arc_conv_r53进行解包 使用touhouSE进行解包 使用DXEXTRACT进行解包 前言 Wolf RPG Editor由于其需要翻来覆去的转码,脚本名称等问题算是解包跟汉化中比 ...
- 获取其他进程中“Internet Explorer_TridentCmboBx”的内容
function GetTridentCmboBxText( // 获取其他进程中“Internet Explorer_TridentCmboBx”的内容 mHandle: THandle; // ...