欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java基础,

来源: javaer 分享于  点击 12751 次 点评:147

Java基础,


1、递归概念
简单的递归

Public class Test{
	Public static void Main(String [] args)
	{
		System.out.println(method(5));
	}
	
	Public int method(int n)
	{
		If(n==1)
			Return 1;
		Else
			Return n*method(n-1);
	}
}

2、结束程序
  直接return 或者 return -1 自己提示

3、标识符
  Java对各种变量、方法和类等要素明时使用额字符序列成为标识符。凡是自己可以起名字的地方豆角标识符,都遵守标识符的规则。

4、程序执行过程
(1)Load到内存区
(2)找到main方法开始执行

5、Java基本数据类型
  4类8种

6、引用数据类型

  • 类——class
  • 接口——interface
  • 数组

7、基础类型转换

  • 布尔类型不可以转换为其它的数据类型
  • 容量小的类型自动转换为容量大的数据类型
  • 容量大的数据库类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意.
  • 有多重类型的数据混合运算时,系统首相自动的将所有数据转换成容量最大的哪一种数据类型,然后在进行计算。

8、break和continue
(1)break遇见用于终止某个语句块的执行。用在循环语句体重,可以强行退出循环;
(2)continue语句用在循环语句体重,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程。

9、打包命令
  在要打包的最上级目录 ——控制台:jar -cvf name.jar .

10、类的继承与权限控制

  • 继承:extends
  • 一个子类只能有一个基类,一个基类可以派生出多个子类。

11、构造方法
(1)子类的构造的过程中必须调用其基类的构造方法。
(2)子类可以在自己的构造方法中使用super(argument_listt)调用基类的构造方法。
使用this(argument_list)调用蓓蕾的另外的构造方法
如果调用super,必须写在子类构造方法的第一行
(3)如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。
(4)如果子类构造方法中既没有显示调用基类构造方法,而基类中有没有无参的构造方法,则编译出错。

12、equals

  • Instanceof 比较符 :判断一个类是否是一个类型
  • If(obj instanceof cat) 如果obj对象是一个cat类,则返回真。
  • 一般该方法会被重写,具体的还要看重写的方式写的是什么。

13、对象转型(casting)
(1)一个基类的引用类型变量可以“指向”其子类的对象。
(2)一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
(3)可以使用 引用 变量 instanceof类名 来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。
(4)子类的对象可以当做基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting)。

14、动态绑定或多态
  动态绑定是指“在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。”
存在的3个条件:

15、抽象类
(1)用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方式时,该方法叫做抽象方法。
(2)含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
(3)抽象类不能实例化
(4)抽象方法只需声明,而不需实现。

16、Final关键字
(1)final的变量的值不能够被改变
(2)final 的方法不能够被重写
(3)final的类不能够被继承

17、接口
  • 多个无关的类可以实现同一接口
  • 一个类可以实现多个无关的接口
  • 与继承关系类似,接口与实现类之间存在多态性
  接口(interface)是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和 方法的定义,而没有变量和方法的实现。

特性:
	a. 接口考科一多重实现
	b. 接口中声明的属性默认为public static final的;也只能是public static final的
	c. 接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的
	d. 接口可以继承其它的接口,并添加新的属性和抽象方法

使用implements来实现,实现多个接口,使用“,”隔开

18、异常处理
  打印异常的堆栈信息:e.printStackTrace()

  异常类的分类:

  使用自定义异常
    a. 通过集成java.lang.Exception类(或者RuntimeException)声明自己的异常类
    b. 在方法适当的位置生成自定义异常的实例,并用throw语句抛出。
    c. 在方法的声明部分用throws语句声明该方法可能抛出的异常。

19、数组的使用(引用类型)
  数组声明:

Type var[];  或  type []  var;

  Java语句中声明数组时不能指定其长度,使用关键字new创建数组对象。
    数组名=new 数组元素的类型 [ 数组元素的个数 ]
  数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。

  数据的拷贝:使用java.lang.System类的静态方法

Public statci void arraycopy ( object src, int srcPos, object dest, int destPos, int length )

  可以用与数组src从第srcPos项元素开始的length个元素拷贝到目标数组从destPost项开始的length个位置。如果原数据书面超过目标数组便捷会抛出“IndexOutOfBoundsException”异常。

20、StringBuffer类
  代表可变的字符序列

21、容器

容器API

  容器类对象在调用remove、contains等方法是需要比较对象是否相等,这回涉及到对象类型的equals方法和hashCode方法;对于自定义的类型,需要重写equals和hashCode方法以实现自定义的对象相等规则。
  重写equals方法必须重写hashCode方法。当对象被作为“索引”的时候,会使用到hashCode方法。

Iterator接口:
a. 所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象。
b. Iterator对象称作迭代器,用以方便的实现对容器内元素的便利操作。
c. Iterator接口定义了如下方法:
	i. Boolean hasNext();   //判断游标右边是否有元素
	ii. Object next();            //返回游标右边的元素并将游标移到到下一个位置
	iii. Void remove();          //删除游标左面的元素,在执行完next之后该操作只能执行一次

22、泛型
  起因: JDK1.4以前类型不明确

  解决办法:
    在定义集合的时候同时定义集合中对象的类型
    (1)可以在定义Collection的时候指定
    (2)也可以在循环时用Iterator指定
  好处:
    增强程序的可读性和稳定性

23、IO输入输出流
  在Java程序中,对于数据的输入/输出操作以“流”(stream)方式进行;J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。

ObjectIO
  序列化

Interface Serializable  可以序列化的接口    (标记接口)
transient 关键字,透明的,作用:使该成员不以考虑 

24、多线程
  进程是一个静态的概念,是指放在内存中未被执行的程序。

Thread t1=new Thread(具体对象);
T1.start();

//调用一个线程,但不是同时运行
T1.run();

 3. 线程同步问题
  解决方案:使资源独占。

synchronized关键字 :锁定当前对象


 4. 死锁问题
  加大锁的粒度来解决。

wait方法   来自object类
This.wait();
	
This.notify();   唤醒等待在某一个对象上的线程    
this.notifyAll();  唤醒所有等待的线程。

  Wait 和sleep 区别:
  ①、wait时别的线程可以访问锁定对象,不能自动唤醒,需要别的线程来唤醒。(调用wait方法的时候必须锁定该对象)
  ②、Sleep时别的线程也不可以访问锁定对象,结束后会自动唤醒。

相关文章

    暂无相关文章
相关栏目:

用户点评