java概念(1)

java概念(1)

面向对象基本概念和特征

面向对象编程:生活中客观存在的事物及关系,用程序来实现。

核心概念:

类:同类事物 的共性 进行抽象,泛化

对象:类的实例,它是具体的

特征:

(1) 继承:在类的基础上增加新的特征 或新类。继承实现代码重用

(2) 封装:用get/set访问器实现属性的读写,隐藏了逻辑,封装的好处:代码安全,提供简单的接口。

(3) 多态:父类指向了子类的对象,不同的子类对于同一个方法有不同的实现形。

​ 多态分为,编译时多态—方法重载,运行时多态—方法重写。

(4) 抽象:抽取类的过程是抽象的,关注共性,不关注实现。

访问权限修饰符 public、private、protected,默认修饰符的区别

protected 不能用于其他包

默认 不能用于子类和其他包

private自能用于当前类

基本数据类型: 只分配 栈内存

数据类型byteshortintlong
长度(字节)1248
数据类型floatdoublecharboolean
长度(字节)4821

引用类型:数组,字符串,类。栈内存,存储地址;堆内存,实际数据。

java中==和equals区别

==是个运算符,比较值类型,判断值。比较引用类型,比较指向的内存地址。

Equals是Object的方法,默认比较地址,但是可以重写。String类重写了equals,可比较两个字符串。

总结:==号是编译器的行为,equals是程序员的行为.

String,StringBuilder和StringBuffer区别

String:只读,内容是不能变。

String str=”hello,accp”; str=”wecome”;

Str是一个引用,它指向字符串对象”hello,accp”,当执行str=”welcome”时,它已经指向另外一个字符串对象了。

StringBuffer:可变,可以直接修改。all方法有同步关键字Synchronized,多线程下数据安全,效率低。

StringBuilder:可变,JDK1.5后引入,方法和StringBuffer完全相同,用于单线程,效率高。没有同步关键字,多线程中无法确保数据安全。

Java中的包装类

将基本数据类型包装为引用类型,提供方法 数据类型转换,空值处理。

JDK ,JRE和JVM之间的关系

JDK:JAVA的核心,即开发工具包。含Java运行环境,java工具,基础类库。

JRE:java程序的运行环境,含java基础类库,jvm的标准实现。

JVM:Java虚拟机,将class文件转换为二进制。实现跨平台的核心,不同操作系统 不同 JVM。

总结:JDK>JRE>JVM

Error和Exception区别

Error和Exception 是Throwable的子类

Error 与虚拟机相关问题,如系统崩溃,内存不足,堆栈溢出。程序本身无法恢复和和预防,应终止程序。

Exception 程序可处理异常,可捕获,可恢复。应尽量处理异常,不需要终止程序。

Exception 分为:RuntimeException,Checked Exception

运行时异常:算数异常,参数异常,编译能通过但程序不会处理,会导致程序终止。而检查异常,try…catch 捕获,throws 语句抛出异常,否则编译不通过。

throw 和throws 的区别

要点:throw关键字

1) throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。

2) throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。

​ throws关键字:

1) throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。

2) throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。

3) throws 表示出现异常的一种可能性,并不一定会发生这种异常

final、 finally、finalize 的区别

final:

常量,修饰方法 不能重写,修饰类是最终类 不能被继承。

finally:

表示一定会执行的代码,和try…catch…finally一起使用。

finalize()方法

Object类 一个对象生命周期的临终方法,被系统调用 代表该对象即将被回收。

如果引用了文件或数据库,希望 垃圾收集线程 自动关闭文件,数据库,可以重写该方法。

注意:一个被动方法,主动调用该方法,不会导致对象死亡,不需要主动调用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值