java基础知识

1.java标识符

首字母不能是数字,由英文字母与$,0-9数字和_,中文字符串和¥组成

2.goto存在Java中,是Java的保留字。

3.基本的数据类型                                          初始化值

整型:byte,short,int,long                              0

字符型:char                                                ‘\u0000’(输出是空字符)

浮点型:float,double;                                    0.0               (默认有小数点的数是double类型)

布尔类型:boolean                                        false

char,byte,short类型可以自动转成int类型

short s1=1;s1=s1+1;有什么错?

1默认为int 类型,s1会自动转成int类型与1相加,但是等号的左边是short类型,所以会返回需要强制转换的错误

short s1=1;s1+=1;

+=是运算符会自动添加强转换符,所以不会出错

3.&与&&区别

首先两个都是逻辑与运算符,&两边的条件都会执行,&&左边的条件一旦为false则右边的条件不执行,直接返回false

4.==与equals的区别

==比较内存地址;

equals比较数据内容;

public class CompareTesxt{

        public static void (String[]args){

                String s1=new String("abc");

                String s2=new String("abc");

                System.out.println(s1==s2);//false

                System.out.println(s1.equals(s2))//true    

    }

}

5.是否可以从一个static 方法内部发出对非static 方法的调用。

不可以。非方法的调用是需要创建对象的,而static方法直接可以通过类调用,在static方法中没有对象怎么调用非static 方法。

6.重载与重写的区别?

重载,在同一个方法中类名相同,但是参数的类型或者个数不相同的方法

重写,父类的方法在子类中重新改写,方法的类名,参数类型和个数相同

7.java语言的特征:简单,面向对象,多线程,跨平台,安全,健壮,分布式

配置java的环境变量

创建JAVA_HOME填写java的安装路径

在CLASS__PATH中填写".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;"(dt和tools的jar包路径)

在Path中填写java中到bin文件的路径

8.类表示了对象的类别,限制了对象的属性和行为;对象是类的实例

9.单例模式

public class SingleDemo{

private static SingleDemo singledemo=null;

private SingleDemo(){}

public static SingleDemo getInstance(){

    if(singledemo==null)

    singledemo=new SingleDemo();

}

return singledemo;

}

10.列出面向对象的设计原则:开闭原则,依赖倒转原则,里氏代换原则,合成/聚合复用原则,迪米特原则和接口隔离原则。

11.int与Integer区别?

int a =1;//原始类型

Integer a=new Integer(1);//对象引用

对象引用是指向对象存储所在的堆中的某个区域的指针

声明一个原始类型就为类型本身声明了存储

12.String,StringBuffer,StringBuild区别?

String 提供数值不可变的字符串类型,因为其中有final修饰符,不可以被继承,但是可以转换成StringBuffer,StringBuild类型

StringBuffer数值可变,多线程使用,安全性高,可以通过toString()转换成String类型

StringBuild数值可变,单线程使用,安全性低,可以通过toString()转换成String类型

13.进程与线程的区别?

进程:进程是资源分配的最小单位,是程序的执行体,进程包含多个线程,一个进程死掉并不会影响其他进程

进程之间的地址空间都是独立的。

线程:线程之间的资源共享,一个死掉其他线程都死掉进而导致进程死掉,但是线程之间的通信速度块。

14.java面向对象的特征

抽象:抽象就是不需要了解全部的问题该怎么做,怎么实现,而是选择其中的一部分抽象,抽象包括过程抽象(行为)和数据抽象(属性)

封装:利用抽象中的数据抽象类型对数据的信息及对数据的操作进行打包,将其变成一个不可分割的实体,在实体的内部对数据进行隐藏和保密,只留下一些接口供外部调用

继承:继承是从已有类中同通过extends 衍生新的类,新的类吸收已有类公有的属性和行为,并可自行扩展新的能力,只能单继承

多态:具体指多种实现方式或者多种形态。表现方式有:向上/向下转型,重载,重写,动态连接

15.抽象类与接口的区别?

抽象类必需被继承用extends,一个类只能继承一个抽象类,强调所属关系,抽象类的子类可以有选择的实现父类的方法,但是抽象方法必须被重写,非抽象类的子类可以是抽象类

接口用implements,一个类可以实现多个接口,强调特定功能的实现,接口中的每个方法都是抽象方法,不需要都实现,但是实现类必须实现。

interface Itest(){

void test1(){}

void test2(){}

}

public abstract ATest implements Itest{                 //抽象类不用全部实现接口中的所有方法

            public void test1(){

            System.out.println("It is a test1");

}

}

public BTest extends ATest{

 public void test2(){

    System.out.println("It is a test2!"); //上面接口ITest 中剩余的方法test2,在该抽象类Test 的子类TestChild 去实现即可。}

}

16 .finally,final,finalize区别?

final是修饰符,被final定义的变量属性不可改变,所以被final定义的类不能被继承,不可以被abstract修饰,因为abstract修饰的类必须被继承,被final定义的方法不可以被重写。

finally在异常处理机制中执行任何清除操作。在finally中的语句一定会被执行,如果fianlly中包含return 那么将之会返回异常类型,而不会抛给其他方法。

finalize是方法名,在垃圾收集器执行的执行此方法,可以被覆盖。

17.error与exception区别?

error是系统级错误和程序不必要处理的异常 ,出现的原因是程序运行的环境问题或者硬件条件,比如内存资源不足等;建议退出运行,它是由Java虚拟机抛出的。

exception表示需要捕捉或者需要程序进行处理的异常,出现的原因是因为程序设计的瑕疵等引起的一般问题,是程序必须处理的

exception又分为运行时异常(RuntimeException)和受检查异常

运行时异常是 程序不能处理的异常,出现的原因是因为程序执行了错误的操作,建议中止程序,所以,编译器不检查这些异常

受检查异常是程序可以处理的异常,编译器检查这些异常。

18.多线程实现的几种方法?(不懂ing)

1.继承Thread类,重写run()方法

2.实现Runnable接口,重写run()方法

3.通过Callable和FutureTask创建线程

4。通过线程池创建线程

19.启动一个线程是用run()还是start()?

启动用strat(),线程进入就绪状态,当cpu分配给线程时间,才执行run()方法(如果有这个方法)start()调用run()方法,run方法是必须重写的,run()方法中包含的是线程的主体。

20.Servlet的生命周期

servlet有良好的生存期定义,包括加载,实例化,初始化,处理请求以及服务结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值