Java语言的特点是什么?
简单 面向对象 跨平台 多线程 健壮性安全性 垃圾回收机制
如何编译和执行java文件?产生帮助文档用什么命令?
编译: javac 文件名
执行: java 类名
产生帮助文档 javadoc 文件名

虚拟机的工作流程是什么?
编写源文件(*.java)------编译成*.class字节码文件------类加载--------字节码校验----解释器----操作系统。
main方法怎么书写?
Public static void main(String[] aaa){}
Static public void main(String sss[]){}

什么是标识符?标识符有几种?标识符的命名规则是什么?
凡是可以命名的地方叫标识符。我们可以使用标识符命名类、方法、变量。
标识符分两种:系统标识符(关键字)和用户标识符。
标识符命名规则:以字母、数字、下划线、$组成。不能以数字开始。

Java中基本数据类型有哪些?各占几个字节?Java中引用数据类型有哪些?基本类型和引用类型的区别是什么?
Java基本数据类型,变量本身存放数据。byte(1)取值在-128~127。Short(2)、int(4)、long(8)、float(4)、double(8)、char(2)、boolean(1)

Java引用类型,变量存放对象的地址。类、数组,接口。
基本类型中存放具体的数据,引用类型存放对象的地址

Java中char类型用什么编码?
unicode
变量三要素是什么?
变量类型 变量名 变量值
Java的注释有几种?
//单行注释
/* */多行注释
/** */文档注释

定义常量用什么关键字?
final
什么是对象?什么是类?对象和类的关系是什么?
对象是存在的一个实体,具有明确的特征和行为。
类是具有相同特征和行为的一组对象的集合。
类是对象的抽象。对象是类的实例和具体表现。

变量按作用域划分有哪几种?局部变量使用时需要注意什么问题?
局部变量、成员变量(属性)、静态变量(类变量)
局部变量使用前需要注意:1、变量必须初始化 2、作用域 3、局部变量的修饰符只能是默认,或final

静态变量和成员变量有什么区别?应该怎么调用?
成员变量从属于对象,是对象的一部分,放在堆中。
静态变量是很多对象共享的,放在数据段中。

成员变量是对象特有的,彼此独立,一个对象成员变量值的更改,不会影响别的对象。
静态变量是对象共享的,一个对象更改后,会影响所有的对象。

静态变量在类加载时产生,加载时机在对象之前;成员变量在对象产生时加载。所以静态方法不能直接访问成员方法。

成员变量调用通过 对象名.成员变量
静态变量调用通过 对象名.静态变量 类名.静态变量

垃圾回收GC回收什么样的对象?
回收没有被变量指向的对象。

什么是包?包的作用是什么?如何导入别的包中的类?什么样的类不需要导入?
包就是文件夹。通过包可以组织相关的类、可以作到信息隐藏。
import 类的全路径;(包名+类名)
本包中的类和java.lang.*无需导入可以直接使用。

静态方法能直接调用成员方法或属性吗?为什么?
不行。静态的东西加载时机在对象之前。

当传递和返回对象,传递和返回的是什么?
引用。

什么是构造方法?构造方法的作用是什么?
构造方法的方法名和类名相同,没有返回类型。
作用:1、为对象分配空间
2、如果该类没有加载,则加载类。
3、初始化成员变量
4、返回引用。

创建对象有几种方式?
new 类名(); 反射:Class对象.newInstance() 克隆(通过Object中clone())
反序列化(调用ObjectInputStream中readObject())

this和super各代表什么含义?
this表示当前对象。super表示父类对象。
数组如何定义?数组、字符串、集合各自的长度如何获得?
int[] I = new int[3]; int[] I = {1,2,3};

数组长度:length属性
字符串长度:length()方法
集合长度:size()方法

数组有哪些特点?
数组是一个连续的空间,通过下标访问元素,下标从0开始,最大下标为长度-1;
数组的元素都是变量,变量的类型就是定义数组的类型。
数组的元素在创建时都会做初始化。int----0 double----0.0 引用类型----null
数组的长度不可改变。

私有属性+get/set方法和公有属性的区别
私有属性+get/set方法,可以在设置属性值之前,做出数据合法性验证,公有属性无法做到。
私有属性+get/set方法,可以删除get或set方法,让属性成为只读或只写属性,公有属性无法做到。

继承用什么关键字?子类继承父类,构造方法第一句应该如何书写?
继承使用extends关键字。子类继承父类,构造方法第一句是super(),产生父类对象,在父类对象基础上扩展子类的方法和属性。

重写和重载的区别是什么?重写有什么要求?
重载发生在同一个类中,方法名相同,参数列表不同(参数的类型、参数的个数、参数的顺序),和返回类型无关。
重写发生在父类和子类之间。方法名相同,参数列表相同,返回类型也相同。访问修饰符子类要大于或等于父类,而抛出的异常,子类要小于或等于父类。子类重写了父类的方法,在调用时会优先调用子类重写的方法。

Java中一个类能同时继承多个类吗?所有类的父类是什么?
不能,在java中类只能单根继承,所有类的父类是Object。

构造方法能继承吗?构造方法能重载吗?
构造方法不能继承,但可以被子类所调用。构造方法可以重载。

final、finally、finalize的区别是什么?
final可以修饰类、方法、变量。修饰类,表示该类不能被继承。修饰方法,表示该方法不能被子类重写。修饰变量表示该变量是常量,内容不能更改。
finally是异常处理时,无论是否有异常都会执行的代码块。一般作资源回收。
finalize是Object中定义的方法。在垃圾回收该对象之前,会执行该方法。

访问修饰符有哪些?各自作用范围是什么?
private(私有) 只能在本类中访问
默认 本包中可以访问
protected(受保护类) 本包和不同包的子类可以访问
public (公有) 所有的类都可访问。

什么是内部类?内部类class文件是怎样命名的?
内部类就是在一个类中再定义一个类。内部类相当于外部类的属性,可以有public 、private、protected、static。它的产生必须依赖于外部类的对象。
内部类class文件命名 外部类名$内部类名.class
什么是多态?多态有什么特点?
多态是指可以用父类变量指向子类对象,可以用接口变量指向实现类对象。
多态的特点:相同的行为不同的表现方式,可以动态绑定子类的行为。

面向对象的特征有哪些?
继承、封装、多态、抽象

什么是抽象类?什么是抽象方法?定义抽象类的关键字是什么?
如果一个方法在定义时,只有方法定义,没有方法实现,这个方法叫做抽象方法,拥有抽象方法的类叫抽象类。抽象类是不能直接实例化的。定义抽象类的关键字是abstract

接口如何定义?实现接口用什么关键字?一个类实现接口必须做什么?
接口定义用interface。
实现接口用implements
一个类实现接口,必须实现接口中所有的抽象方法,否则该类只能是抽象类。

接口中定义的方法修饰符是什么?接口中定义的变量修饰符是什么?
接口中方法修饰符是 public abstract
接口中变量修饰符是 public static final

抽象类和接口的区别是什么?
抽象类可以有方法的定义(抽象方法),也可以有方法的实现(具体方法)。而接口中只能有方法的定义。
抽象类中的变量是属性,而接口中的变量是public static final
抽象类只能被单根继承,而接口可以多实现。

异常的API结构是怎样的?Error和Exception有什么区别?
Throwable父类,下面两个子类,Error(错误,能捕获,不能处理)和Exception(异常,能捕获,能处理)

异常的执行顺序怎样?如果在try块中有return,finally会执行吗?
先执行try块,顺序执行,如果有异常,转去catch块执行,同时中止try块中其他代码。无论是否有异常,都会执行finally内容。如果在try块或catch块有return,finally同样会执行,在跳出方法前执行。

finally是否在任何时候都会执行?
不是,在虚拟机关闭时不会执行。System.exit(0);

throw 和throws的区别是什么?
throw是语句,表示显示抛出异常对象 throw new Exception();
throws是方法修饰符,表示该方法可能要抛出某种异常,调用该方法时,就需要处理该方法抛出的异常。

异常分为几种?如何区分?
异常分为编译期异常、运行期异常。编译期异常,必须要处理,否则编译无法通过。运行期异常可处理,可不处理,所有的运行期异常都是RuntimeException的子类。

如何得到当前工作目录?
System.getProperty(“user.dir”);

String x = "abc" 和 String x = new String("abc")有什么区别?
String x = “abc”。x指向数据段中的字符串常量。
String x = new String(“abc”); x指向堆中的字符串对象。但该对象必须以对应字符串常量为模版。

String和StringBuffer的区别?
String具有长度不可以变的特性,当对字符串作添加、删除、替换会产生新对象。
而StringBuffer是缓冲区的对象,当对其进行添加、删除、替换时不会产生新对象。

如何将字符串转化为基本数据类型?
int x = Integer.parseInt(“23”);
double x = Double.parseDouble(“23.3”);

如何将日期对象进行"2011-12-10"格式化输出?如何将"2011-12-10"字符串转化为日期类型?
SimpleDateFormat s = new SimpleDateFormat(“yyyy-MM-dd”);
String str = s.format(new Date());
Date date = s.parse(“2011-12-10”);

javaBean规范有哪些内容?
有公共的无参构造方法。
私有属性加上get/set方法进行访问和设置。
对象是可序列化的。

什么是反射?
反射是在编译时,不清楚应该加载哪个类,类的加载是在运行期进行的。通过反射我可以对类进行加载、探知、自审。

如何得到Class对象?如何利用Class对象产生该类的对象?
类名.class 对象名.getClass() Class.forName(“类的全路径”)

Class对象.newInstance();

线程和进程的区别?
进程有自己独立的内存空间,进程一开启就会消耗内存。而线程是进程内部的顺序控制流。多个线程共享一个进程内存空间。

创建线程有几种方式?如何启动线程?调用start()和调用run()的区别?
创建线程:1、继承Thread类,重写run() 2、实现Runnable接口,实现run()。
启动线程:start();
启动线程用start,这时会在主线程之外产生新的线程,多个任务同时执行。而直接调用run(),不会产生新线程。

线程有几种状态?
新建 就绪 运行 死亡 休眠 等待 挂起 阻塞

什么是线程优先级?分为几级?
当两个或两个以上的线程同时要求启动时,优先级高的线程优先得到CPU的使用权。优先级分为10级,数字越大,优先级越高。

什么是线程同步?同步会造成什么结果?
线程同步是指当两个或两个以上的线程同时访问同一个资源,为了保护数据的安全,只允许在同一时间一个线程去访问。
线程同步会造成1、数据安全 2、效率低下。

wait和sleep的区别?
sleep在Thread中定义,而wait在Object中定义。
wait只能放在同步方法或同步块中,而sleep可以放在任何位置。
wait会释放对象锁,而sleep不会。
wait需要唤醒线程才会继续执行,而sleep在休眠结束后,自动恢复运行。

集合的作用是什么?集合框架的API结构是怎样的?
集合的作用是对数据进行存储、检索、操作、传输。
集合框架分为:接口、实现类、算法。
接口:Collection为父接口,下面两个子接口:List、Set,另外还有Map接口

List、Set、Map集合各自有什么特点?
List特点:线性,元素可以重复
Set特点:元素不可重复
Map特点:键值对,一个元素包含两个对象。键不能重复。

集合元素如何添加?如何删除?如何遍历?
添加:add() put()
删除:remove()

遍历:
for(int i =0;i<list.size();i++){
Object obj = list.get(i);
}

Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
}

for(Object obj : list){
}

List接口实现类ArrayList、Vector、LinkedList的区别?HashMap和Hashtable区别?
ArrayList底层由数组实现。是连续的空间,遍历、尾部追加速度快,中间插入、删除速度慢。
Vector底层也由数组实现。是线程安全的类。
LinkedList是不连续空间,中间插入、删除速度快,遍历速度慢。

HashMap允许空键和空值,线程不安全。Hashtable不允许空键和空值,线程安全。

集合如何进行排序?
Collections.sort(list,Comparator c);

awt和swing有什么区别?
awt是利用操作系统的风格构建组件,跨平台时显示风格不一致。
swing是单独的组件,跨平台时风格一致。

GUI常见布局管理器有哪些?
绝对布局,边框布局,流式布局,网格布局

如何进行事件的添加?
确定事件源,确定监听器(实现监听接口) 注册(建立事件源和监听器的联系)

流按照输入输出方向分有几种?相对于什么而言?
流按照输入输出方向分有两种,相对于内存而言,当将数据从数据源中读取到内存时,叫读取流。当将数据从内存写入数据源时,叫写入流。

JavaOO知识点小结一的更多相关文章

  1. C++重要知识点小结---3

    C++重要知识点小结---1:http://www.cnblogs.com/heyonggang/p/3246631.html C++重要知识点小结---2:http://www.cnblogs.co ...

  2. C++重要知识点小结---2

    C++重要知识点小结--1 :http://www.cnblogs.com/heyonggang/p/3246631.html 1.C++允许程序员声明一个不能有实例对象的类,这样的类惟一的用途是被继 ...

  3. React及Nextjs相关知识点小结

    React及Nextjs知识点小结 函数式组件和类组件区别是什么 1.函数式组件是用于创建无状态的组件,组件不会被实例化,无法访问this中的对象,无法访问生命周期方法,是无副作用的,相比于类组件函数 ...

  4. 【SpringBoot MQ 系列】RabbitMq 核心知识点小结

    [MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 ...

  5. SpringBoot 系列教程之事务隔离级别知识点小结

    SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上 ...

  6. disruptor笔记之四:事件消费知识点小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. promise知识点小结

    断断续续学习es6也有一段时间了,趁着开学空闲对知识点做一些小结. 为什么使用promise 谈到Promise,我们知道,这是社区较理想的异步编程解决方案.想要掌握promise,我们首先要知道其提 ...

  8. shell知识点小结

    目录 引言 shell中的数组 数组的定义 数组的使用 实际的例子 shell中大小的比较 shell中的括号 shell中函数的定义 杂项知识点 字符串转数组 常用判断标志 linux后台运行相关 ...

  9. Vuejs技术栈知识点小结

    前言 上家公司的项目主要是使用jQuery和Angular1,然后自己学了React,没想到来到这家公司突然开始做vue,不过vue还是挺容易上手的.下面是vue技术栈的一些总结,都是来自官网,主要是 ...

随机推荐

  1. Django——8 关系表的数据操作 表关联对象的访问 多表查询

    Django 关系表中的数据操作 表关联对象的访问 关联对象的add方法 create方法 remove方法 clear方法 多表查询 查询补充 聚合查询 分组查询 F查询 Q查询 关系表的数据操作 ...

  2. 美团 CodeM 复赛」城市网络

    美团 CodeM 复赛」城市网络 内存限制:64 MiB时间限制:500 ms标准输入输出 题目描述 有一个树状的城市网络(即 nnn 个城市由 n−1n-1n−1 条道路连接的连通图),首都为 11 ...

  3. 清北学堂模拟赛d2t1 一道图论神题(god)

    题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只有点权. LYK想把这个图删干净,它的方法是这样的.每次选择一个点,将它删掉,但删这个点是需要代价的.假 ...

  4. cocos2d-x andriod, Box2D.h: No such file or directory

    原文链接:r=47980">http://www.cocos2d-x.org/forums/6/topics/47503? r=47980 You need to include li ...

  5. 写一个android内置android程序

    当我们编译完毕android源代码之后,就须要对他做点什么事情,我如今正在看老罗的"Android源代码情景分析"一书.在这里主要是记录一些书中没有说清楚的地方. 相同.我们创建一 ...

  6. [NetworkFlow]网络流建模相关

    流 网络流问题本质上是线性规划问题的应用之中的一个,线性规划问题的标准形式是给出一组等式约束和不等式约束.要求最优化一个线性函数. 在流问题中,变量以流量的形式出如今问题中,我们给出一个流网络(以有向 ...

  7. Modern Qt Development: The Top 10 Tools You Should Be Using

    Published Friday October 12th, 2018Leave a comment Posted in Biz Circuit & Dev Loop, C++, QtCrea ...

  8. 关于ajax技术

    传统注册存在的弊端 : 当我们点击注册时,会存在以下几个问题. 首先,浏览器会销毁当前页面,如果注册失败返回的新页面所有之前 填写的数据丢失. 其次,如果网络通信较差,我们表单提交请求数据到服务端,而 ...

  9. 【POJ 1011】 Sticks

    [题目链接] http://poj.org/problem?id=1011 [算法] 深搜剪枝 首先我们枚举木棍的长度i,那么就有s/i根木棍,其中s为木棍长度的总和,朴素的做法就是对每种长度进行搜索 ...

  10. 【BZOJ 1370】 团伙

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1370 [算法] 并查集 + 拆点 [代码] #include<bits/std ...