[Java]Java知识点基础篇1.1

1.1Java基础

面向对象的特征:继承、封装、多态和抽象:

(1)继承
对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类).派生类可以从它的父类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要.因此可以说,继承为了重用父类代码,同时为实现多态性作准备.
(2)封装
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改
变它内部的数据。在 Java 当中,有 3 种修饰符: public, private 和 protected。每一种修饰符
给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
使用封装的一些好处:

  • 通过隐藏对象的属性来保护对象内部的状态。
  • 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
  • 禁止对象之间的不良交互提高模块化

(3)多态
多态是指允许不同类的对象对同一消息做出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题.总的来说,方法的重写,重载与动态链接构成多态性.java引入多态的概念原因之一就是弥补类的单继承带来的功能不足.

  • 动态链接 :对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接.

(4)抽象
抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。 Java 支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。
抽象包括两个方面,一个数据抽象,而是过程抽象.

  • 数据抽象 : 表示世界中一类事物的特征,就是对象的属性.比如鸟有翅膀,羽毛等(类的属性)
  • 过程抽象 :表示世界中一类事物的行为,就是对象的行为.比如鸟会飞,会叫(类的方法)

注意继承与重载:子类与父类的关系,重载方法的调用问题
一个类中如果定义了重载的方法,则系统在调用方法时,会根据参数的类型自动选择调用合适的方法

final, finally, finalize 的区别

final, finally, finalize 的区别

Exception、Error、运行时异常与一般异常有何异同

异常

请写出5种常见到的runtime exception

  • NullPointerException:当操作一个空引用时会出现此错误。

  • NumberFormatException:数据格式转换出现问题时出现此异常。

  • ClassCastException:强制类型转换类型不匹配时出现此异常。

    Object x = new Integer(0);
    System.out.println((String)x);

  • ArrayIndexOutOfBoundsException:数组下标越界,当使用一个不存在的数组下标时出现此异常。

  • ArithmeticException:数学运行错误时出现此异常

IndexOutOfBoundsException(下标越界异常)
NullPointerException(空指针异常)
NumberFormatException (String转换为指定的数字类型异常)
ArithmeticException -(算术运算异常 如除数为0)
ArrayStoreException - (向数组中存放与声明类型不兼容对象异常)
SecurityException -(安全异常)

int 和 Integer 有什么区别,Integer的值缓存范围

Java基础之int和Integer有什么区别

关于Integer的缓存范围(-128~127)所引起的一系列问题记录

包装类,装箱和拆箱

包装类,装箱和拆箱
Java5引入的特性,自动装箱自动拆箱

String、StringBuilder、StringBuffer

探秘java中的String、StringBuilder、StringBuffer

重载和重写的区别

重载和重写的区别

抽象类和接口有什么区别

说说反射的用途及实现

说说自定义注解的场景及实现

HTTP请求的GET与POST方式的区别

Session与Cookie区别

列出自己常用的JDK包

MVC设计思想

equals与==的区别

hashCode和equals方法的区别与联系

什么是Java序列化和反序列化,如何实现Java序列化?或者请解释Serializable 接口的作用

Object类中常见的方法,为什么wait notify会放在Object里边?

Java的平台无关性如何体现出来的

JDK和JRE的区别

Java 8有哪些新特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值