Java 易混淆知识点

1.计算机中数据存储是以字符为单位(取值-128~127),可以存储一个英文字符、数字、英文标点。因为汉字太多已超过一个字符的范围,所以必须使用双字节来存储。

  java语言一个char类型16位(两个字节),可以存储任何字符。

2.java的默认浮点数类型是double,当把 double类型的数字 赋值给float时,要么试用强制类型转换,要么在数字后加上f或F。

3. & 是两个数以二进制的形式,按位进行逻辑与运算。

  &&通常用于条件表达式中,对于两个或多个关系表达式进行逻辑与运算,它是一个短路运算符,就是当它前面的表达式为false时就不进行后边的计算,效率比较高。

4.java如何跳出多重循环,而且可以和continue一起使用终端内层和外层循环。

public static void main(String args[]){
     label:
            for(int i=1;i<10;i++){
               for(int j =10;j>=0;j--){
                  if(j==5){
                   break label;
            }
        }
    }
}            

5.abstract class和interface的区别?

   含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必     须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。

接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。

下面比较一下两者的语法区别:

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态方法,接口中不能包含静态方法

6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

7. 一个类可以实现多个接口,但只能继承一个抽象类。

下面接着再说说两者在应用上的区别:

接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。

而抽象类在代码实现方面发挥作用,可以实现代码的重用。

6.String s = new String("xyz");  会创建了两个String Object 对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

7.==和equals的区别?

  ==用于判断两个引用变量是否指向同一个对象实例, equals用于判断两个值是否相等.

8.java中有几种类型的流?

  字节流继承于InputStream \ OutputStream,

  字符流继承于InputStreamReader \ OutputStreamWriter。

9. finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

时间: 2024-12-06 09:21:03

Java 易混淆知识点的相关文章

C++之易混淆知识点一

1.const.mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改.volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化.例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序可能会修改其中的内容,或者两个程序可能相互影响,共享数据.该关键字的作用就是为了改善编译器的优化能力.假设编译器发现程序在几条语句中两次使用某个变量的值,则编译器可能不是让程序查找这个编码的值两次,而

常问易混淆知识点(嵌入式)

b 一.知识点1 a) 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述).b) C语言中static关键字的具体作用有哪些 ?c) 请问下面三种变量声明有何区别?请给出具体含义int const *p;int* const p;int const* const p; a) 用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里 重新读取它的值,并不要随意针对它作优化. 建议使用volatile变量的

C++之易混淆知识点四---虚函数与虚继承

C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int

C++之易混淆知识点五

一.解析类继承中父类与子类之间成员的访问可见度: 外部可见度:指的是被子类继承的父类成员在子类的外部访问控制度,有protected.public.private. 内部可见度:指的是被子类继承的父类成员在子类定义的方法中的内部访问控制度,有可访问(Y).不可访问(N). class A{     private:        void pvA(); protected:        void ptA()    public:        void pbA();         ....}

java易混淆概念之类变量、成员变量、局部变量

java易混淆概念之类变量.成员变量.局部变量 类变量.成员变量.局部变量 类变量(也叫静态变量)是类中独立于方法之外的变量,用static 修饰.(static表示“全局的”.“静态的”,用来修饰成员变量和成员方法,或静态代码块(静态代码块独立于类成员,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行)). 成员变量(也叫“实例变量”.“域”)也是类中独立于方法之外的变量,不过没有static修饰. 局部变量是类的方法中的变量. 看下面的伪代码说明: public class 

【干货】 PMP考试易混淆知识点(一)

话说6月的考试刚刚过去,这说明咱们9月的考试即将到临,小编为此给咱们备考9月的一群小伙伴们准备了一打干货,祝愿9月的你学有所得~ PMP考试易混淆知识点(一) 以下内容来自:51CTO  PMP微职位讲师:王安 1.项目管理.项目集.项目组合的区别. 序号 名称 管理 共同特点 实现方法 主要区别 专有特点 应用的时机 1 项目组合管理 是为了实现战略目标而对一个或多个项目组合进行集中管理. 服务与战略目标的实现 对工作优先排序提供所需资源 将相互没有依赖或关系的项目组合在一起 方便实现战略目标

C++易混淆知识点整理

// 1 /////////////////////////////////////////////////////////////////////// // 常量指针:变量不可修改,指针可修改 const int *p; int const *p; // 指针常量:指针不可修改,变量可修改 int *const p; // 指针解引用之前,一定确保已被初始化为一个确定/合适的地址 int *p; // 分配了指针p的内存,但并没有初始化,指针所指向的数据的内存不知道 // 指向数组的指针:指向

C语言指针与数组易混淆知识点(一)

一指针与数组 二指针与函数 三指针数组数组指针指向指针的指针 四程序陷阱 一.指针与数组 指针:指针本身也是一个变量,它的内容是指向的内容的地址.指针同样有类型的区分,char 的指针只能指向char型数据,int 指针指向int型数据.但是指针所占内存单元的大小(即其内容)是跟操作系统的地址位数有关,比如32位地址的系统,那么指针所占的内存单元就是4个字节,16位就是2个字节,因此,指针的类型只是限定它所指向的变量的类型,其内容所占的单元大小是与操作系统的地址位数相关,与变量类型无关. 在32

关于网络学习中易混淆知识点的辨析

OSI参考模型的层次划分与TCP/IP的五层结构 OSI参考模型分为:物理层.数据链路层,网络层,传输层,会话层,表示层,应用层. 物理层涉及到在信道上传输的原始比特流. 数据链路层的主要任务是加强物理层传输原始比特流的功能,使之对应的网络层显现为一条无错线路.发送包把输入数据封装在数据帧,按顺序传送出去并处理接受方回送的确认帧. 网络层关系到子网的运行控制,其中一个关键问题是确认从源端到目的端如何选择路由. 传输层的基本功能是从会话层接受数据而且把其分成较小的单元传递给网络层. 会话层允许不同