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修饰类: 会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型 抽象类 ...
随机推荐
- 奥格尔巧妙kfifo
奥格尔巧妙kfifo Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:O ...
- 用WPF实现打印及打印预览
原文:用WPF实现打印及打印预览 应该说,WPF极大地简化了我们的打印输出工作,想过去使用VC++做开发的时候,打印及预览可是一件极麻烦的事情,而现在我不会再使用C++来做Windows的桌面应用了- ...
- Spring综合Struts2
1.1. Spring综合Struts2 1) 该Spring用户手机WEB-INF下一个 2) 把Spring配置文件配置到web.xml中 <!-- 引入Spr ...
- WPF中画虚线
原文:WPF中画虚线 在WPF中,画线的方法十分简单,只要声明一个Line然后添加到指定的位置就可以了,但Line并不仅仅只能画一条直线,还可以对直线进行修饰. 1.Line.StrokeDashAr ...
- HDU-3839-Ancient Messages(DFS)
Problem Description In order to understand early civilizations, archaeologists often study texts wri ...
- 关于SetLength报Out of memory的研究及解决办法
关于SetLength报Out of memory的研究及解决办法 最近在做一个GIS系统, 在读GIS数据时采用了动态数组,突然读一个数据时SetLength报错!Out of memory 仔细研 ...
- ubuntu 16.04 安装 openjdk 1.7
由于编译Android源码需要openjdk1.7.X版本.ubuntu 16.04自带openjdk为1.8.X版本. sudo apt-get install openjdk-7-jre 或者su ...
- WPF 的DynamicResource的NewLine问题
wpf的TextBlock支持换行,换行可以用 符号来表示. 比如: <TextBlock Text="第1行 第2行"></TextBlock> 显示效果 ...
- linq中不能准确按拼音排序
在LinqToObject中,利用OrderBy/OrderByDescending, ThenBy/ThenByDescending这4个方法排序时,发现不能正确的按拼音排序,所以在排序时增加编码支 ...
- 修改Android Studio默认的API Level(SDK版本)
原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统 ...