Java基础知识

1、抽象类和接口不能实例化

2、调用start()后,线程会被放到等待队列,等待CPU调度,并不一定要马上开始执行,只是将这个线程置于可动行状态。然后通过JVM,线程Thread会调用run()方法,执行本线程的线程体。
1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;
2.run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码, 这样就没有达到写线程的目的。

3、round函数是取最接近整数,如果遇到一样近,则取最大值

4、关于java中的构造方法:
(1)java构造方法可以有任何访问的修饰: public, protected, private 或者没有修饰(通常被 package 和 friendly 调用) . 但是 不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized 。
(2)类默认提供一个无参构造方法。
(3)java构造方法中的this关键字: 构造器的this指向同一个类中,用于调用同一个类中不同参数列表的另外一个构造器,必须放在第一行,否则会引起编译错误!
(4)java构造方法中的super关键字:构造方法的super关键字用于调用其父类的构造方法,子类默认调用父类的构造方法,也就是说super()是默认调用的,显示调用必须放在构造方法第一行!

5、finally语句总是要执行的,当finally语句中也有return时,会覆盖try/catch语句块的return,所以一般不要在finally中加return语句。。。。。PS:return的两个作用:返回数据、结束方法运行

6、接口中的变量默认是public static final 的,方法默认是public abstract 的

7、成员方法又称为实例方法
静态方法又称为类方法
8、客户端通过socket()方法创建socket对象 服务端通过serverSocket()方法创建TCP对象,通过accept()方法接受客户端请求

9、HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,
主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
hashmap采用拉链法解决冲突。
HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为null,否则运行时会报空指针异常错误;
HashMap线程不安全,Hashtable线程安全

10、
final修饰的方法,不允许被子类覆盖。
final修饰的类,不能被继承。
final修饰的变量,不能改变值。
final修饰的引用类型,不能再指向别的东西,但是可以改变其中的内容。
static不能修饰局部变量

11、
这里写图片描述

12、编译看左边,运行看右边

13、

初始化父类中的静态成员变量和静态代码块 ;
初始化子类中的静态成员变量和静态代码块 ;
初始化父类的普通成员变量和代码块,再执行父类的构造方法;
初始化子类的普通成员变量和代码块,再执行子类的构造方法;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值