现在的位置: 首页 > 综合 > 正文

JAVA基础常识

2016年04月17日 ⁄ 综合 ⁄ 共 3561字 ⁄ 字号 评论关闭

1.jave的方法中的所有变量都必须初始化之后才能使用,否则无法通过编译,提示no initialize。而在方法外的变量则会被自动初始化,可以在该“{}”中使用。所有的变量都仅在自己声明的“{}”中起作用。

2.java的包分类:lang(构成语言的核心包)、awt(抽象图形工具包)、applet(已封装的applet小程序类)、io(基本的输入输出类)、net(与网络编程相关的类)、util(实用程序包,包括随机生成数字等)。

3.java中摒弃了C/C++中的指针与存储管理等应用,从而提高了程序的健壮性,防止内存漏洞与存储器漏洞。

4.用加号“+”进行字符串连接。

5.java中的boolean类型不能与int类型进行转换。

6.java的条件控制语句(if())中,括号中使用的是布尔表达式,而不是C/C++使用的数字值。因为java中布尔类型不能与数字类型转换,因而“if(x)”这种写法是错误的,应改为“if(x!=0)”。

7.switch()语句中的条件必须是与int类型是扶植兼容的,byte、short、char类型可以被升级,不允许使用浮点活long表达式。

8.注意label与break和continue等跳出语句的使用。break label/continue label,跳转到label出继续执行。

9.java中数组是一组同种数据类型的集合,是一种对象,声明是不分配内存空间,只创建了该对象的一个引用,数组元素的实际内存空间是通过new()方法进行初始化而动态分配的。数组声明的两种方法:char []s 或者 char s[]。

10.声明可以不指出数组的大小。

11.java支持多维数组,不但支持矩阵型数组,而且支持非矩阵型数组。

12.java中具有数组拷贝函数(System.arraycopy())。

13.子类从超类(父类)继承所有方法和变量;但子类不从超类继承构造函数;包含构造函数的两个办法是a.使用缺省构造函数,b.写一个或多个显式构造函数。

14.多态性是个运行时问题,与重载相反,重载是一个编译时问题。

15.关键字super 可被用来引用该类中的超类。它被用来引用超类的成员变量或方法,可以使用super.method()的格式来调用。

16.instanceof的使用,在对象强制类型转换时常常使用。

17.在一个类中可以通过参数个数/参数类型不同,从而构造重载函数。在子类与父类之间,可以在子类中定义与父类具有一样函数名称、参数个数、参数类型、返回类型的函数,从而达到函数覆盖的作用。

18.通过子类的数据初始化父类的成员变量,可以在子类的构造函数中使用super()来调用父类的构函数初始化父类中的成员变量。

19.import语句必须先于所有类的声明。import 语句被用来将其它包中的类带到当前名空间。当前包,不管是显式的还是隐含的,总是当前名空间的一部分。

20.类中的static变量可以被该类的所有实例共享,如果声明为private,只有该类的实例才能访问,如果声明为public,可以不通过该类的实例,直接在类体外通过类名就可以访问。

21.类中的static方法可以不通过该类的实例,直接在类体外通过类名就可以访问,static 方法不能访问与它本身的参数以及static 变量分离的任何变量。访问非静态变量的尝试会引起编译错误。没有this 值。

22.静态方法不能被覆盖成非静态。

23.static block。“static {}”。

24.Final 类不能被分成子类;Final 方法不能被覆盖;Final 变量是常数。被标记为static 或private 的方法被自动地final,因为动态联编在上述两种情况下都不能应用。如果变量被标记为final,其结果是使它成为常数。想改变final 变量的值会导致一个编译错误。

25.声明方法的存在而不去实现它的类被叫做抽象类。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。

26.接口是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。

27.内部类不能声明任何static 成员;只有顶层类可以声明static 成员。

28.finally 语句定义一个总是执行的代码块,而不考虑异常是否被捕获。如果终止程序的System.exit()方法在保护码内被执行,那么,这是finally 语句不被执行的唯一情况。这就暗示,控制流程能偏离正常执行顺序,比如,如果一个return 语句被嵌入try 块内的代码中,那么,finally 块中的代码应在return 前执行。

29.java中类的成员变量是在对象实例化之后才分配内存空间,类变量则在类加载的时候分配空间,该类以及该类的实例对象都共享类变量。类的成员方法是在类的第一个对象实例化的时候才分配入口地址的,当再创建对象时,不再分配入口地址,就是说,所有对象共享一个入口地址,而类方法则是在类被加载到内存的时候分配入口地址的,因而可以被类以及类的实例所调用。

30.this指向本类,可以通过成员访问运算符"."访问类的成员变量或方法,但this不能出现在类方法中,因为类方法是可以直接通过类名调用。

31.a.public b.protected c.友好的(无修饰符) d.private ,private在子类中无法继承父类的成员变量与成员方法,在同包中,子类可继承父类的a b c类型的变量与方法,不同包中,子类只能继承a b类型的变量与方法。

32.当子类与父类之间如果存在同名的成员变量时,则父类的成员变量被隐藏,当子类与父类存在返回类型、参数类型以及个数都相同的函数时,父类的成员方法被隐藏,因此可以通过重写子类的成员函数而将父类的状态和行为改变为自身的状态与行为。但子类重写方法时,访问权限不能低于父类的修饰符。

33.如果一个方法被修饰为final方法,则这个方法不能被重写,如果一个成员变量被修饰为final的,就是常量。

34.对象的上转型对象,A是B的父类,A a=new B(),则a是b的上转型对象,上转型对象不能操作子类新增的成员变量,但可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法,不可以将父类创建的对象的引用赋值给子类声明的对象。

35.接口用interface声明,用于java多继承,接口体中包含常量定义和方法定义两部分,接口体中只进行方法的声明,不许提供方法的实现,所以方法的定义没有方法体,且用分号。

36.如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法。如果一个类声明实现一个接口,但没有实现接口中的所有发那个法,那么这个类必须是abstract类。

37.接口回调:可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法。当接口变量调用被类实现的接口的方法时,就是通知相应的对象调用接口的方法。

38.string类型变基本类型,可以用public int Integer.parseint(string s) 其他基本类型相似,基本类型变string类型,可以用string.valueof(int/char/float/double),对象类型用date.toString()转换。

39.stringtokenizer类可以实现字符串的分析,stringtokenizer objectname=new stringtokenizer(s," 分隔符列表 用空格间隔"),重要方法:counttoken()、nexttoken()、hasmoretokens()。

40.charactor类重要方法:isDight(char) isLetter(char)
isLetterOrDight(char) isLowerCase(char) isUpperCase(char) toLowerCase(char) toUpperCase(char) isSpacechar(char) 。

41.将字符串转变成字符数组,可以使用string类的String.toCharArray()方法,char a[]=String.toCharArra()

42.string(char[],int offset,int length) 返回一个string对象,getChars(int start,int end,char c[],int offset) 功能:字符串变字符数组,由string对象使用。

转自http://blog.vsharing.com/testsky/A554863.html

抱歉!评论已关闭.