******关键字instanceof的使用:
a instanceof A:判断对象的引用a是否属于对象A、或者A的子类、或者A的间接子类的对象的引用。
使用的前提条件:a的引用类型和A的类型在同一个继承树的分支
******方法的overload:
方法重载的条件:方法名相同;参数列表不同
注意:方法的返回值类型不能作为重载的条件
******方法的override:
方法覆盖的条件:父类和子类中的方法名、方法的返值类型、方法的参数列表都必须相同;
子类所覆盖的方法的访问权限不能缩小;
子类所覆盖的方法不能抛出新的异常类型;
注意: 对象的引用决定访问父类和子类中存在覆盖的情况的变量--》静态绑定;
对象引用所指向的对象决定了访问父类和子类中存在覆盖情况的方法--》动态绑定;
******final用来修饰类、方法、变量
修饰类的时候:该类不能被继承
修饰方法的时候:该方法不能被覆盖
修饰变量的时候:该变量初始化之后不能再被赋值
注:final修饰类和方法时不能和abstract共存;final修饰static变量时,需要在定义或者静态语句块中进行初始化;
final修饰非static变量时,需要在定义、动态语句块、构造方法中进行初始化;
******interface:
interface中的方法是public abstract类型的方法;
interface中没有变量,只有常量(public static final类型的常量)
******Enclosing class(内部类)
分类:
静态内部类(static inner class):与类中的static方法、变量平行;
成员内部类(member inner class):与类中的非static方法、变量平行;
本地内部类(local inner class):定义在方法、语句块中的类
匿名内部类(anonymous inner class)
******断定assertion
assersion expr1:expr2; 判断expr1表达式的boolean值,当为false的时候,会抛出AssertionError异常,此时expr2会被转换为字符串,传给AssertionError构造方法的参数中(expr2是可以省略的);
java -ea 启用除系统类之外的全部类的断定
java -da 关闭除系统类之外的全部类的断定
java -ea:classname 启用某个类的断定
java -da:classname 关闭某个类的断定
******Vector与ArrayList区别:
Vector:线程安全,效率低
Vector<E> v = new Vector<>();
Enumeration<E> e = v.elements();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
}
ArrayList:非线程安全,效率高
ArrayList<E> a = new ArrayList<E>();
Iterator<E> i = a.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
******基本数据类型和相应的包裹类之间的转换:
基本数据类型---->包裹类类型:包裹类.valueOf(基本类型)
包裹类类型---->基本数据类型:包裹类对象.***Value()
字符串---->基本类型:基本类型的包裹类.parse***(字符串)
基本类型---->字符串:String.valueOf(基本类型)
******GUI中的布局管理:
Window、Dialog、Frame的默认布局管理器是BorderLayout
Panel、ScrollPane的默认布局管理器是FlowLayout
******GTI事件:
semantic event(语义事件/高级事件):组件产生的事件
low-level event(低级事件):键盘、鼠标等事件
低级事件先于高级事件发生
******菜单:(待)
菜单组件-->菜单栏-->菜单-->菜单项/菜单
******各个组件对应的事件监听器/事件处理方法:(待)
Frame-->WindowListener/windowClosing(WindowEvent e)
Menu-->ActionListener/actionPerformed(ActionEvent e)
CheckBox-->ItemListener/itemStateChaged(ItemEvent e)
Choice-->ItemListener/itemStateChaged(ItemEvent e)
******对象序列化:
序列化的对象必须实现Serialiazable接口;
在类中定义的transient和static类型的变量是不能被序列化的;
******线程的两种实现方式:
//方式一,通过MyThread类继承Thread类,并且覆盖run()方法
MyThread thread = new MyThread();
//方式二,通过MyRunnable类实现Runnable类,并实现run()方法;同时将MyRunnable类的对象作为
//Thread构造方法的参数
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
注意:方式二的使用更加实用,适合多个相同程序代码的线程处理同一资源的情况,实现了线程与运行代码的分离
******线程的控制:
Thread.sleep(long m)-->当前执行的线程进入阻塞状态,等待时间到后或者调用该线程的
interrupt()方法,进入就绪状态;
Thread.yield()-->当前执行的线程进入就绪状态,让出当前CPU的时间片,让同优先级的线程得到执行
******线程的同步:
方式一:
synchronized(Object object){需要同步的代码块}-->object可以是任意类型的,但必须让所有的线程共享object
方式二:
synchronized方法
public synchronized void method(){}
等价
public void method(){
synchronized(this){}
}
******程序的可扩展性:
在编写程序的时候,要做到很好的扩展性(数据量很大的时候)
******I/O流:
节点流:
作用于文件:FileInputStream/FileOutputStream、FileReader/FileWriter
作用于内存:ByteArrayInputStream/ByteArrayOutputStream、CharArrayReader/CharArrayWriter
作用于线程:PipedInputStream/PipedOutputStream、PipedReader/PipedWriter
处理流:
提供缓存功能:BufferedInputStream/BufferedOutputStream、BufferedReader/BufferedWriter
提供对象存储和序列化:ObjectInputStream/ObjectOutputStream
提供读写各种数据的功能:DataInputStream/DataOutputStream
打印流:PrintStream、PrintWriter
******Runtime类(java.lang)
public class Runtime extends Object
Runtime代表一个当前程序的一个实例对象,每个java程序都对应一个Runtime类的对象;但是这个类是不允许你用new Runtime()来创建对象的,只能调用类方法getRuntime()来获得当前应用程序的实例(因为其构造方法是私有的)
******将一个文件编码为utf-8格式的文件:
native2ascii -encoding utf-8 source_file_name target_file_name
分享到:
相关推荐
自我对Java基础学习总结,包括Java的入门程序、语言类型、OOP、数组、集合等一些技术总结
学习java语言的良好资料笔记,全是作者的总结,很实用。
本文档是基于毕向东老师的java基础视频和张孝祥老师的高薪技术视频和银行管理系统以及交通灯管理系统的视频所做的笔记。 知识主要包括:Java基础常识、如何安装Java工具、Java语言的基础组成、Java面向对象、Java多...
官方专业 易懂java基础语言总结 其中包涵很多知识点及图片
对java中一些容易混淆的知识点进行了总结
java基础学习总结.docx
java基础学习总结文本1,格式解释说明: switch:说明这是switch语句。 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面的值就是要和表达式进行比较的值 break:表示程序...
Java基础学习总结(183)—— Flyway 在项目中迁移数据实践
Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...
看的东西不在多,而在于精, 程序设计最重要的就是上级操作了, 既然选择了,就该要有坚持的觉悟... Cookie使用. ...里面是当年自学JAVA时的一些笔记,内容都是TXT格式的,都是一些基础性的概念总结。
自己在网上找的相对好一点的java复习资料,留个纪念 。详细讲述了Java课程的知识点
java基础知识总结(经典),适合自学有基础的人都可已学习
JAVA基础知识精华总结,让你轻松学习 JAVA
java基础总结大全,其中有面试过程中百分百会被问到的问题。
这个Java总结资料文档是经过本人亲自的出来的经验总结,都是学习Java基础的有效文档!
java基础知识总结 Java学习资料
1 Java 概述 3 1.1 Java 定义 3 1.2 Java 的特点 3 1.3 Java 开发环境 5 Java 基本语法 7 数据类型 7 整数型 7 浮点型 7 字符型 8 布尔型 8 基础语法 8 运算符 8 Java 执⾏控制流程 11 条件语句 11 if语句 11 if......
写代码: 1,明确需求。...用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。