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修饰类: 会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型 抽象类 ...
随机推荐
- readline库的使用
接口十分简单,readline和addhistory: #include <stdlib.h> #include <stdio.h> #include <unistd.h ...
- Python 绘图利器 —— ggplot
安装: 命令行:pip install ggplot 1. 杂项 NameError: name 'ggsave' is not defined. Python ggplot- ggsave func ...
- HTML5 课程
http://www.w3school.com.cn/html5/html_5_geolocation.asp HTML5 教程 HTML5 教程 HTML5 简单介绍 HTML5 视频 HTML5 ...
- 关于Socket的建立及连接
最近在做一个东西,目前考虑的是采用Socket连接,从网上找了一个SuperSocket的socket通信框架.... 关于Socket连接,个人并不是搞得太懂,写的东西也全是个人理解,那么这里先整理 ...
- Delphi跨平台Socket通讯库
盒子中的souledge大侠发布了新的Socket库,以下为原文: 我之前写过一个iocp的框架,放到googlecode上了. 由于当时的delphi版本尚无法跨平台,所以该框架只能运行在Windo ...
- Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法
原文:Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法 [函数名称] 形态学轮廓提取函数 WriteableBitmap Morcontourextract ...
- vs2015未能正确加载“ProviderPackage”包。
原文:vs2015未能正确加载“ProviderPackage”包. 出现以下错误的解决方案 --------------------------- Microsoft Visual Studio - ...
- 微信小程序把玩(十七)input组件
原文:微信小程序把玩(十七)input组件 input输入框使用的频率也是比较高的...样式的话自己外面包裹个view自己定义.input属性也不是很多,有需要自己慢慢测,尝试 主要属性: wxml ...
- WPF实现系统禁音的方法
方法1: [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern ...
- 汉的Unicode编码是6C49,而且通常都是小端存储。汉字的unicode范围是:0x4E00~0x9FA5,即CJK一共20928个字符。GBK有21886个汉字,所以多了958个汉字
小端存储的结果是 49 6C UTF-8有点类似于Haffman编码,它将Unicode编码为:0x00-0x7F的字符,用单个字节来表示:0x80-0x7FF的字符用两个字节表示:0x800-0xF ...