1)面向对象的特性有哪些?

答:封装、继承和多态。

2)Java 中覆盖(Override)和重载(Overload)是什么意思?

答:覆盖是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小;被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。

  重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。

问: 那么构成重载的条件有哪些?

答:参数类型不同、参数个数不同、参数顺序不同。

问: 函数的返回值不同可以构成重载吗?为什么?

答:不可以,因为 Java 中调用函数并不需要强制赋值。

3)抽象类和接口的区别有哪些?

  1. 抽象类中可以没有抽象方法;接口中的方法必须是抽象方法;

  2. 抽象类中可以有普通的成员变量;接口中的变量必须是 static final 类型的且必须被初始化 , 接口中只有常量没有变量。

  3. 抽象类只能单继承,接口可以继承多个父接口;

  4. Java8 中接口中会有 default 方法,即方法可以被实现。

问:抽象类和接口如何选择?

  1. 如果要创建不带任何方法定义和成员变量的基类,那么选择接口。

  2. 如果必须要有方法定义和成员变量的时候,那么选择抽象类。

4)Java 中的值传递和引用传递

答:值传递意味着传递对象的一个副本,副本改变,不影响源对象。

  引用传递意味着传递对象的引用,引用对象改变,所有对象改变。

5)JDK 中常用的包有哪些?

答:java.lang、java.util、java.io、java.net、java.sql。

6)JDK,JRE 和 JVM 的联系和区别:

答:JDK 是 Java 开发工具包,编写Java程序的程序员使用的软件

  JRE 是 Java 运行时环境,运行Java程序的用户使用的软件,它包含虚拟机但不包含编译器。

  JVM 是 Java 虚拟机,负责将Java字节码转换为特定机器码,一次编译,到处运行。

1 Java基础知识的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  5. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  6. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  7. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  8. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  9. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  10. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. docker 创建容器时指定容器ip

    Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定. 在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的. 我们可以创建自己的bri ...

  2. BZOJ1233 [Usaco2009Open]干草堆tower[贪心+单调队列优化]

    地址 注意思路!多看几遍! 很巧妙的一道题.不再是决策点以dp值中一部分含j项为维护对象,而是通过维护条件来获取决策. 首先有个贪心策略,让底层的宽度尽可能小,才能让高度尽可能高.所以应该倒着dp,表 ...

  3. Andrid Studio Gradle sync failed: A problem occurred configuring project ':app' 解决方法

    Android Studio中进行Gradle sync 时出现了这个错误,Android Studio 出错提示是 Gradle sync failed: A problem occurred co ...

  4. hdu 5280 贪心 O(n)算法

    题意给你一个序列A[1...N],你必须修改一个A[i]为P,使得修改后的序列A的连续最大和最大 其中N<=1000 分析,N非常小,N^2暴力随便做,不细讲 说一个O(N)的算法 我们知道O( ...

  5. Junit 4测试框架使用

    断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组是否 ...

  6. 【leetcode】1260. Shift 2D Grid

    题目如下: Given a 2D grid of size n * m and an integer k. You need to shift the grid k times. In one shi ...

  7. VM删除快照失败,磁盘空间不足,只是删除了快照名字(全网唯一解决办法)

    原创: 删除之前的快照,发现只是把名字删除了, 看着这么多文件也不知道怎么删,一顿百度google也是没找到答案 于是就自己琢磨 因为删除快照的时候,是先把快照删除,然后删除无效的文件 所以先让这个盘 ...

  8. (转)Spring实例化

    标签:SpringContextUtil,getBean 手动获取Bean 方法一  不用配置xml,直接java代码实现 /** * 工厂模式选择Bean类 */ public class MyBe ...

  9. JS框架_(JQuery.js)高德地图api

    百度云盘 传送门 密码 :ko30 高德地图api效果 <!doctype html> <html> <head> <meta charset="u ...

  10. jQuery实现表单动态添加与删除数据操作示例

    <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8&q ...