Java基础------知识点整理(一)

来源:互联网 发布:农村淘宝网站首页 编辑:程序博客网 时间:2024/04/20 02:40

1.&和&&,|和||的区别

对于&&,只要左边为假,右边就不执行判断

对于&,无论左边为真假,右边都执行判断

对于||,只要左边为真,右边就不执行判断

对于|,无论左边为真为假,右边都执行判断


2.构造函数与一般函数的区别

(1)构造函数在创建对象时,会被自动调用

一般函数在创建对象后,需要主动调用

(2)构造函数一般只调用一次

     一般函数可以多次调用


3.匿名对象:

匿名对象就是不给对象命名,直接调用类中的成员或方法

new 类名.方法()    new 类名.成员


4.this

(1)this代表当前对象,this就是所在函数所属对象的引用

(2)this可以在构造函数中调用其他构造函数,但只能在构造函数的第一行,这是因为this代表构造的对象,而其初始化必须先执行。格式为: this(成员名);


5静态的特点:(宗旨:和对象无关,不需要创建对象)

(1)静态修饰的成员

静态修饰的成员被所有对象共享(可以节省内存),静态修饰的数据是共享数据

静态修饰的成员和方法由于对象存在,因为静态的成员和变量随着类的加载就已经存在

静态成员和方法可以直接被类名调用,格式:类名.静态成员,类名.静态方法

(2)静态修饰的方法

静态的方法只能访问静态成员变量和静态的成员函数(非静态方法既能访问非静态的成员又能访问非静态的方法)

静态方法中不能调用this或super关键字

(3)静态代码块

格式:

static{    System.out.println("这里面的就是静态代码块的内容");}

特点:随着类的加载而自动执行,而且只执行一次,因为是静态的所以会被自动加载,而又由于是静态的只要加载了就可以被其他成员所调用,不需要再加载,否则也是浪费

作用:用于给类进行初始化,虽然构造函数时给对象初始化的,但是有些类不需要创建对象(比如变量和方法都是静态时)


6.函数是否需要静态修饰?

就看函数是否需要访问非静态成员变量,如果需要则定义为非静态的,如果不需要就定义成静态的


7.构造代码快

可以给所有对象的相同内容初始化

格式:在类中用 {}括起来就可以

{    coding....}
8. 静态代码块,构造代码块,构造函数,局部代码块区别

静态代码块:只与类有关,类一加载就执行且只执行一次
构造代码块:与对象有关,需要new一个对象,然而new一次就执行一次,它是给对象进行初始化的,与构造函数主要区别在于,它初始化所有需要创建对象共同的初始化内容
构造函数:构造函数是有针对性的初始化,执行不同重载的构造函数,对类的成员初始化内容不同
局部代码块:限定变量生命周期时用的


执行顺序:静态代码块(1)构造代码快(2)构造函数(3)局部代码块(4)


9.如何让类拥有不允许调用构造函数
当类中的方法根本就没有调用类中的成员变量,或根被就没有成员变量时,就可以将成员函数定义为静态的成员函数,这时也就不需要创建对象来调用这些静态的方法,防止浪费空间,就可以强制阻止创建对象,在构造函数前私有化(加private)


10.switch语句
只能判断4中类型的参数:short    int   char    byte
case无顺序之分,上下都行,但是记得如果需要在每个case的执行语句后面加break;(switch结束大括号的那条语句可以省略)
如果没有break时,程序会不再判断case值,直接执行下面的执行语句直到遇到一个break或右大括号

switch(x){    default:                syso("a");    case  1:                syso("b");    case  2:                syso("c");break;    case  3:                syso("d");break;}

//执行结果:abc


11.内存的划分

①寄存器    ②本地方法区    ③方法区

④栈内存:存储的都是局部变量,变量所属的作用域一结束,该变量就自动结束

⑤堆内存:存储数组(其实也是对象),对象,凡是new建立的对象都在对中

    特点:每一个对象都有首地址,堆内存每一个变量都有默认的初始化,如int型为0,char型为null,String型为null,boolean为               false


12.成员变量与局部变量的区别

①成员变量定义在类中,整个类都可以访问,

   局部变量定义在函数,语句,局部代码块中,只在所属的区域有效

②成员变量存在堆内存的对象中

   局部变量存在栈内存的方法中

③成员变量随着对象创建而存在,随着对象消失而消失

   局部变量随着所属区域执行而存在,随着所属区域执行结束而消失

④成员变量都有默认的初始化值

   局部变量没有默认的初始化,没有初始化过的不能直接用


13构造函数的特点

函数名与类名相同,首字母大写,不能定义返回类型(如果定义了就不是构造函数了,可以看为是普通函数)

如果类中没有定义构造函数,那么类中会有一个默认的空参够凹函数,如果类中定义了指定的构造函数,那么默认的构造函数就没有了,如果仍需空参的构造函数,需要手动定义一个

构造函数可以调用类中的其他函数,而类中的其他函数不能调用构造函数(因为构造函数是new一个自动调用的)


14基本类型的大小

char       1字节

short      2字节

int           4字节

long        8字节

float        4字节

double     8字节






0 0