java笔记

1.java程序框架

public class MyApp

{

public static voidmain(String args[])

{

System.out.println("HelloWorld!");

}

}

2.java小程序框架

a. java文件:

import java.awt.*;

importjava.applet.Applet;

public class MyAppextends Applet

{

public voidpaint(Graphics g)

{

g.drawString("欢迎学习java语言",20,20);//在(2020)位置显示文字

}

}

b. html文件

<html><head><title>MyApplet</title></head>

<body>

<!--以下一行是必须的-->

<appletcode="MyApp.class" width=200 height=100></applet>

<body>

</html>

3. a. 公共类名必须与文件名一致;

b. 公共类只能有一个;

c.如果源代码中没有公共类,那么文件名和任意一个类名一致就可以了。

4.用到main方法参数的程序,在运行时需要在命令行下输入命令行参数,在eclipse中可以在Run->RunConfigurations->Arguments->Program arguments中输入。

5.a.对于类名,每个单词的开头字母应该大写,如MyFirstApp

b.方法名和变量名,第一个字母不用大写,如myMethod()

c.常量应该全部大写

d.包名应该全部小写

6. 文档注释,

/**

注释内容

*/

7. 编译后形成的class文件又称字节码文件

  1. java采用unicode编码,因此char类型占用2个字节,如charch=''

  1. boolean占用1个字节,不能转换成数值类型数据。

  1. 10.利用逻辑与和逻辑或做逻辑运算时,如果只计算左边即可确定最终结果,右边表达式不被执行

  1. 11. 在声明数组时不允许在方括号内指定个数;二维数组也不可指定,第二维长度可以不相等

  1. 12. 创建数组时可用整形变量指定数组元素个数,如

int size=20;

doubledoubleArray[]=new double[size];

  1. 13. 创建二维数组

a. 第二维确定时

intArray=new int[3][5];

b.第二维不确定时

intArray=new int[3][];

intArray[0]=new int[2];

intArray[1]=new int[5];

intArray[2]=new int[1];

  1. 14. 变量必须初始化才能使用

  1. 15. 创建数组时元素默认初始值

对象引用:null 整形变量:0 浮点变量:0.0

布尔变量:false 字符变量:'\u0000' (unicode转义字符)

  1. 16. 数组length属性保存数组长度

  1. 17. 对象必须用new分配空间才可使用,因此创建应用类数组前须先创建数组,然后创建对象,才可使用。数组间可以相互赋值,表示数组共同指向同一地址。

  1. 18. 可以在定义类的同时给成员变量赋初值,成员变量赋初值必须与成员变量的声明写在同一条语句里,因为类的内部不允许直接出现执行语句。

  1. 19. 在eclipseconsole窗口输入时,注意移动光标,使光标处于提示字符之后,否则可能会读取错误使执行失败。

  1. 20. java提供一个称为垃圾收集器(GarbageCollector)的自动内存管理系统,定时或在内存不足时自动回收垃圾对象所占的内存空间。

  1. 21. 类成员修饰符public:所有类都能访问;protected:子类和同一个包中的其他类能够访问;默认:同一个包中的类能够访问;private:只有该类可以访问

  1. 22. 类修饰符public:公共类;默认为在包范围内其他类均可使用;不能用protectedprivate修饰类

  1. 23. java会给类的静态成员变量(也称类变量)自动赋初值,数值型初值为0

  2. 24. 类的静态成员方法(类方法)只能调用静态方法,不能调用普通成员方法,main也如此;可以访问类的静态成员变量,对普通成员不能操作;普通方法可直接调用静态方法

  1. 25. java规定子类与父类之间是单继承,每个子类只能有一个父类,子类与父类的关系是树形的关系

  1. 26. a.子类中的方法不能抛出父类中被覆盖方法没有抛出的异常;

b.子类中方法的访问权限不能比父类中被覆盖的方法访问权限低;

c.方法覆盖是实现多态的一种手段;

d.子类对父类的非静态方法可以实现方法覆盖

e.静态方法不能重载。子类静态方法不会覆盖父类中的同名静态方法。

f.构造方法可以使用this调用同类的其他构造方法,格式为this(形参)

g.成员变量不能覆盖,父类与子类各有一个同名成员变量

h.通过父类的引用指向子类对象时,不能使用子类不具备的成员

i.若子类覆盖了父类的某些方法,通过父类的引用指向子类对象时,所调用的方法为子类中的方法

j.可对父类引用的对象进行子类强制类型转换,以使用子类新增的成员方法

k.可以使用子类是父类来验证继承结构的合理性

  1. 27. 方法重载与方法覆盖的比较

a.重载必须满足的条件:方法名必须相同;参数表必须不同;返回类型可以不同;修饰符可以不同;可以在类内部进行,也可以在子类中对父类方法进行重载

b.覆盖必须满足的条件:名称、参数表、返回类型必须相同;子类方法不能缩小所覆盖方法的访问权限;子类方法不能抛出比所覆盖方法更多的异常;覆盖限于子类方法对父类方法进行,不能在同一个类内部进行

  1. 28. final可以用来修饰类、方法和局部变量,修饰过的类叫最终类,修饰过的方法叫最终方法,修饰过的变量实际上相当于常量

a.最终类:不能被继承,不能有子类,如StringMath

b.最终方法:子类不能覆盖父类中的最终方法,否则产生编译错误

c.final修饰的成员变量或局部变量:没有默认值,必须在定义时指定其数据值

  1. 29. 抽象类与抽象方法(abstract

privatestatic修饰的方法不能声明为抽象方法;抽象类可以没有抽象方法,一般至少有一个;若类中有抽象方法,必须声明为抽象类;abstract不能用来修饰实例变量;abstract不能与privatestaticfinal等同时修饰一个成员方法

  1. 30. 接口(interface

接口里的方法全部都是抽象方法;接口是一种数据类型;成员变量是publicstaticfinal的,可省略这些关键字,必须在声明时赋值;成员方法是publicabstract的,可省略这些关键字

31. java中,类型转换时,如果是转换成信息更多的类型则不用显式转换,否则必须显式转换。如:

int x=1;

double y=2.0;

x= (int)y;//此处必须显式转换

y= x;//此处不必,但还是加上比较统一而且不费脑子。

32. 若参数类型是基本类型,传递的是变量的值,而不是引用。 33.java异常处理:finally中不要return
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值