码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础(二)

时间:2019-08-09 01:50:41      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:轻量级   int   参数   解决   静态方法   extend   哈希   实现   需要   

静态方法调用非静态成员的非法性理解

静态方法在类没有实例化的时候就已经被分配内存真正存在的了;而非静态方法这时候在内存上是没有存在的,所以静态方法这时候调用非静态成员是根本调用不到的,称为非法。

Java中定义一个不做事且没有参数的构造方法的用处

java程序在执行子类的构造方法之前,如果没有用super()来调用父类的特定构造方法,则会默认调用父类没有参数的构造方法,这时候,父类只是定义了有参数的构造方法的话,就会报错,因为找不到没有参数的构造方法,解决方法就是在父类上定义一个不做事且没有参数的构造方法。

接口和抽象类的区别

(1)接口方法默认是public且不可实现,而抽象类可以有非抽象方法
(2)接口中除了static,final变量,不能有其他变量;而抽象类中不一定
(3)一个类可以实现多个接口,但只能实现一个抽象类;接口本身可以通过extends拓展多个接口
(4)接口方法默认修饰符public,抽象方法原本就是为了被重写,所以不能使用private
(5)从设计层面来看,抽象类是对类的抽象,是一种模板设计;接口是对行为的抽象。是一种行为的规范。

成员变量和局部变量区别

(1)成员变量属于类,可以被public,private,static修饰;而局部变量属于方法,不能被访问限制符及static修饰
(2)从内存的存储方式来看,若成员变量用static修饰,那么它就属于类级别的;不是的话,属于实例级别的;对象存在于堆内存,局部变量存在于栈内存
(3)从内存的生存上看,成员变量随变量的创建而存在;局部变量随方法的调用而消失
(4)成员变量若没有赋值,则会被默认赋上初始值;不过要是被final修饰的变量也要赋上特定的值;局部变量就不会自动赋值

构造方法

构造方法作用是完成对类对象的初始化,即使没有声明也会自动分配一个无参的构造方法;构造方法不能用void修饰,且是自动执行无需调用

静态方法和实例方法区别

(1)静态方法调用无需创建对象,使用"类名.方法名"即可
(2)静态方法只能访问静态成员,反则非法报错;实例方法可以访问所有成员

对象相等和指向它们的指引相等

(1)对象相等比较的是内存存放的内容是否相等;
(2)指向对象的指引相等比较的是在内存中的地址是否相等;

==与equals()区别

(1)==:比较的是不是同一对象(地址),是则true,否则为false;
(2)equals():比较的是不同对象的内容是否相等;

理解hashCode

作用:确定对象在哈希表上的索引位置;返回值是一个int型整数,哈希表是一个散列表呈现(key,value)类型,通过key找到对象value;举个例子:hashSet的实现就是借助hashCode和equals,通过比较对象是不是同一个对象进行排列

线程,进程和程序三者认识

(1)线程:比进程更小的执行单位,一个进程拥有若干条线程,同类的多条线程是共享同一块内存空间和同一组资源的,因此线程的资源利用率高于进程,可以将线程看作轻量级的进程
(2)程序:看成是静态代码,包括指令和数据的文件
(3)进程:一个程序执行一次的过程,是系统运行程序的基本单位。进程的运行都会伴随多个线程的执行过程;进程之间是独立的,而线程之间是相互联系沟通的。

线程的执行流程

new(新建)初始化->调用start()方法开始运行(获得系统资源之前属于ready(可运行状态);获取之后进入running(运行状态))->若线程执行wait()方法进入等待状态(进入此状态后需要其他线程通知才可以返回执行状态)->若线程调用sleep(long time),wait(long time),join(long time)方法,线程进入超时等待状态,时间一到就自己进入执行状态->线程使用同步方法时,在没有获取到锁的情况下,线程进入阻塞状态->执行完run()方法后线程进入终止状态。

final关键字

(1)final修饰变量:(数据类型变量)一旦初始化之后便不可更改;(引用类型变量)初始化之后便不可指向另外的对象
(2)final修饰的方法:把指定方法锁定,防止继承类修改它;
(3)final修饰的类:把指定的类锁定,防止其他类去继承它

Java基础(二)

标签:轻量级   int   参数   解决   静态方法   extend   哈希   实现   需要   

原文地址:https://www.cnblogs.com/chengxiaodi/p/11324674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!