ImageVerifierCode 换一换
你正在下载:

java.docx

[预览]
格式:DOCX , 页数:27 ,大小:397.47KB ,
资源ID:4074792      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4074792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java.docx

1、java一次编译 多次执行(JVM)垃圾回收.java 文件名和public的类名相同类体 与 方法体只包含一个public的类 non-public 的类可以有多个Public static void main(String args) 程序入口 或 开始点Main() 主方法 唯一main() method之前必须加上public static void 这三个标识符。public代表main()公有的method;static表示main()在没有创建类对象的情况下,仍然可以被运行;void则表示main()方法没有返回值。Main后的括号()中的参数String args表示运行该程序

2、时所需要的参数标示符规则不能以数字开头 不能使用关键字Java中的保留关键字: abstract boolean break byte case catch char class continue default do double else extend false final finally float for if implement import instanceof int interface long native new null package private protected public return short static synchronized super thi

3、s throw throws transient true try void volatile while goto constSystem.out是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。其后所连接的println,是由print与line所组成的,意义是将后面括号中的内容打印在标准输出设备显示器上溢出Java所使用的就是Unicode字符码系统三大控制语句:顺序 选择 (if,switch)循环(while,do while,for,)循环跳离 continue,中断本层循环,执行下次循环goto,break,中断循环,执行循环体后面的语句局部变量数组 1.声明 2.分

4、配内存Int score = new int3;元素索引Java 中获取数组长度,score.length与数组有关的API方法拷贝arrayCopy();排序 sort();二维数组与一维数组不同的是,二维数组在分配内存时,必须告诉编译器二维数组行与列的个数。Int score=new int43;/分配内存空间数组名.length / 取得数组的行数数组名行的索引.length / 取得特定行元素的个数传递一维数组传递二维数组返回一维数组 前加int;返回二维数组 前加int;方法重载方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。对象特征静态特

5、征 属性动态特征 方法类类是一个抽象的概念,要利用类的方式来解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法来实现程序的功能。封装 信息隐藏从程序设计角度来说,一般说来设计较好的程序的类中的属性都是需要封装的。此时,要设置或取得属性值,则只能用setXxx()、getXxx()方法,这是一个明确且标准的规定。当然,可以把方法设置为private,但是只能在类的内部访问,如果要在外面进行访问,必须在类内部定义公有方法访问。继承 重用性多态 方法重载 成员覆盖类 对象 实例化(new)引用数据类型/ 将p1的引用赋给p2p2 = p1 ;垃圾对象,指程

6、序中不再使用的对象引用匿名对象没有明确声明的对象只使用一次的对象,或没有任何一个具体的对象名称引用它构造方法帮助新创建的对象赋初值与类同名无返回值在创建对象时,自动调用访问权限类名称(类型1 参数1,类型2 参数2,) 程序语句; / 构造方法没有返回值构造方法重载(参数不同)如果不存在自定义的构造函数,那么系统调用无参构造函数,如果调用错误,将无法通过编译。对象比较有两种方式可用于对象间的比较,它们是“= =”运算符与equals()方法。“= =”操作符用于比较两个对象的内存地址值是否相等equals()方法用于比较两个对象的内容是否一致str1.equals(str2);String s

7、tr1 = java ; String str2 = new String(java) ; String str3 = java ; str1 str3指向同一块内存空间,str2是有new关键字分配的,单独占有一个内存空间。直接赋值进行初始化比较好This关键字用this调用构造方法This();Static 关键字静态变量类变量。修饰类的属性,该属性为公共属性,是所有对象共享的内存空间,可以用其中的一个对象进行修改,也可以用类名进行修改。静态方法类方法private static String city=china;对于静态的属性,需要一个公有的静态方法去修改。如:public stati

8、c void setcity(String c)如果在类中声明了一个static类型的属性,则此属性既可以在非static类型的方法中使用,也可以在static类型的方法中使用。但用static类型的方法调用非static类型的属性时,则会出现错误。Main方法01 public class TestMain 02 03 /* 04 public:表示公共方法05 static:表示此方法为一静态方法,可以由类名直接调用06 void:表示此方法无返回值07 main:系统定义的方法名称08 String args:接收运行时参数09 */ 10 public static void main

9、(String args) 11 12 / / 取得输入参数的长度13 int j = args.length ; 14 if(j!=2) 15 16 System.out.println(输入参数个数有错误!) ; 17 / 退出程序18 System.exit(1) ; 19 20 for (int i=0;iargs.length ;i+ ) 21 22 System.out.println(argsi) ; 23 24 25 静态代码块 被率先执行static System.out.println(2.Person类的静态代码块被调用!); 与静态方法的区别:一般情况下,如果有些代码必

10、须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的。静态方法在类加载的时候就已经加载可以用类名直接调用比如main方法就必须是静态的,这是程序入口 两者的区别就是;静态代码块是自动执行的;静态方法是被调用的时候才执行的;构造方法的私有方法依需要,可分为public与private。同样的,构造方法也有public与private之分。到目前为止,所使用的构造方法均属于public,它可以在程序的任何地方被调用,所以新创建的对象也都可以自动调用它。如果构造方法被

11、设为private,则无法在该构造方法所在的类以外的地方被调用。构造方法虽然被私有了,但并不一定是说此类不能产生实例化对象,只是产生这个实例化对象的位置有所变化,即只能在本类中产生实例化对象。对象数组Person p=new Person3;p0=new Person(Gaoqi,23);p1=new Person(wang,14); p2=new Person(wulin,28);内部类内部类可声明成public或private。当内部类声明成public或private时,对其访问的限制与成员变量和成员方法完全相同。可以发现由于使用了内部类操作,所以程序在调用score属性的时候减少了创建

12、对象的操作,从而省去了一部分的内存开销,但是内部类在声明时,会破坏程序的结构,在开发中往往不建议读者去使用。外部类是无法找到内部类中所声明的属性。而内部类则可以访问外部类的属性。在类外部引用内部类在方法中定义内部类javadoc标记范例:PersonJavaDoc.java /* *Title: PersonJavaDoc *Description: 通过PersonJavaDoc类来说明Java中的文档注释 *Copyright:(c) 2004 *Company : sun java *author lixinghua *version 1.00 */类的继承在java中只允许单继承,不允

13、许多重继承子类对象在实例化时会默认先去调用父类中的无参构造方法,之后再调用本类中的相应构造方法。 如果父类中存在自定义的构造函数,那么,系统不会自动生成无参的构造函数,那么子类在创建对象时,就会出错;所以,就需要在父类中添加一个无操作的无参的构造函数。Super关键字super主要的功能是完成子类调用父类中的内容,也就是调用父类中的属性或方法。程序在编译时不再去找父类的无参构造函数了。用super调用父类中的构造方法,只能放在程序的第一行。当然,也可以用super调用父类中的属性。class Student extends Person String school; public Studen

14、t(String n, int a, String s) super.name=n; super.age=a; System.out.println(say(); this.school=s; 父类的属性,方法限制子类访问Private子类在继承父类时,会继承父类中的全部的属性与方法。复写当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法复写了父类中的方法。同理,如果子类中重复定义了父类中已有的属性,则称此子类中的属性复写了父类中的属性。抽象类abstract class Person专门用来当作父类,不能直接由抽象类创建对象,只能通过抽

15、象类派生出新的类,再由它来创建对象。可以有抽象方法,也可以有非抽象方法。抽象类定义规则 抽象类和抽象方法都必须用abstract关键字来修饰。 抽象类不能被实例化,也就是不能用new关键字去产生对象。 抽象方法只需声明,而不需实现。 含有抽象方法的类必须被声明为抽象类,抽象类的子类必须复写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。 在抽象类中,也可以拥有构造方法,但是这些构造方法必须在子类中被调用。在抽象类定义的语法中,方法的定义可分为两种:一种是一般的方法,它和先前介绍过的方法没有什么两样;另一种是“抽象方法”,它是以abstract关键字为开头的方法,此方法只声明了返回值的数

16、据类型、方法名称与所需的参数,但没有定义方法体。那么子类中需要复写实现这个抽象方法。public abstract String talk() ;/只有声明,没有函数体,在子类中复写与一般类相同,在抽象类中,也可以拥有构造方法,但是这些构造方法必须在子类中被调用。Object类所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类就默认继承Object类。Final关键字1、 final标记的类不能被继承。2、 final标记的方法不能被子类复写。3、 final标记的变量(成员变量或局部变量)即为常量,只能赋值一次。接口interface接口(interfac

17、e)是Java所提供的另一种重要技术,它的结构和抽象类非常相似,具有数据成员与抽象方法,1、接口里的数据成员必须初始化,且数据成员均为常量,且不可更改。2、接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。在java中接口是用于实现多继承的一种机制,也是java设计中最重要的一个环节,每一个由接口实现的类必须在类内部复写接口中的抽象方法,且可自由地使用接口中的常量。既然接口里只有抽象方法,它只要声明而不用定义处理方式,那么无法用它来创建对象。利用接口打造新的类的过程,称之为接口的实现(implementation)。Interf

18、ace student extends Person接口是java实现多继承的一种机制,一个类只能继承一个父类,但如果需要一个类继承多个抽象方法的话,就明显无法实现,所以就出现了接口的概念。一个类只可以继承一个父类,但却可以实现多个接口。接口与一般类一样,均可通过扩展的技术来派生出新的接口。原来的接口称为基本接口或父接口,派生出的接口称为派生接口或子接口。通过这种机制,派生接口不仅可以保留父接口的成员,同时也可加入新的成员以满足实际的需要。接口间的继承通过关键字 extends实现。接口可以继承多个接口,一个类可以实现多个接口,接口间用“,”隔开,且需要复写所有接口的全部抽象方法。如下:cla

19、ss student implements Person , Person1 public String say() return 复写接口person的abstract方法say(); public String say1() return 复写接口person1的abstract方法say1(); 对象多态性子类实例化对象可以转换为父类实例化对象向上转型,父类对象通过子类对象去实例化。向下转型,父类的对象可以转换为子类对象,这时则必须要进行强制的类型转换。一、向上转型可以自动完成;用子类实例化时,调用子类和父类相同的函数时,先调用子类的;如果调用只有父类的函数时,则显示父类的函数。publ

20、ic static void main(String args) Person p=new student(); p.fun1(); p.fun2(); 二、向下转型必须进行强制类型转换,public static void main(String args) Person p=new student(); student s=(student)(p); s.fun1(); s.fun3(); instanceof关键字的使用用于判断一个类是否实现了某个接口,也可以用它来判断一个实例对象是否属于一个类。instanceof的语法格式为: 对象 instanceof 类(或接口) 它的返回值是布

21、尔型的,或真(true)、或假(false)。接口对象的实例化接口是可以被实例化的,但是不能被直接实例化,通过接口的子类对其进行实例化。class student implements PersonPerson p=new student();使用接口就是定义一个统一的标准。例如:interface USB public abstract void start(); public abstract void stop();class MP3 implements USB public void start() System.out.println(MP3 device start); publ

22、ic void stop() System.out.println(MP3 device stop); class MoveDisk implements USB public void start() System.out.println(MoveDisk device start); public void stop() System.out.println(MoveDisk device stop); class computer public void work(USB u) u.start(); u.stop(); public class interfacestandard pub

23、lic static void main(String args) new computer().work(new MP3(); new computer().work(new MoveDisk(); 异常处理异常处理方法1 交由java默认的异常处理机制做处理,这种方法只输出异常信息,并终止程序。2 自行编写异常处理模块。异常类的继承架构Exception类扩展出数个子类,其中IOException、RunntimeException是较常用的两种。RunntimeException即使不编写异常处理的程序代码,依然可以编译成功,而这种异常必须是在程序运行时才有可能发生。IOExceptio

24、n 一定要编写异常处理的程序代码才行,它通常用来处理与输入/输出相关的操作,如文件的访问、网络的连接等。抛出异常throw抛出异常有下列两种方式: 1、程序中抛出异常 2、指定方法抛出异常包及访问权限包(package)Package 名称;定义了包以后,执行程序有一定的变动。如下:javac d . package1.java /生成一个demo文件夹java demo.java.package1import语句的使用如果几个类分别属于不同的package时,在某个类要访问到其它类的成员时,则必须做下列的修改: 若某个类需要被访问时,则必须把这个类公开出来,也就是说,此类必须声明成publi

25、c。若要访问不同package内某个public类的成员时,在程序代码内必须明确地指明“被访问package的名称.类名称”。import package名称.类名称;将某个package内的整个类导入,后续访问时就不需要再写包名称了。在java中有这样的规定:导入全部类或是导入指定的类,对于程序的性能是没有影响的。import demo.java.a.Person改成import demo.java.a.*,JDK中常见的包java.lang 包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能java.awt 包含了构成抽象窗口工

26、具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。javax.swing 此包用于建立图形用户界面。java.applet 包含applet运行所需的一些类。 包含执行与网络相关的操作的类。java.io 包含能提供多种输入/输出功能的类。java.util 包含一些实用工具类,如定义系统特性、与日期日历相关的函数。类成员的访问控制权限Private 只能在类内部访问PublicProtect默认访问权限 default默认的访问控制成员可以被这个包中的其它类访问。如果一个子类与其父类位于不同的包中,子类也不能访问父类中的

27、默认访问控制成员。命名习惯 包名中的字母一律小写,如:demo.java。 类名、接口名应当使用名词,每个单词的首字母大写,如:TestPerson。 方法名,第一个单词小写,后面每个单词的首字母大写,如:talkMySelf。 常量名中的每个字母一律大写,如:COUNTRY。多线程进程 一次性执行完毕 原子性 动态执行多进程操作系统能同时运行多个进程,cpu具有分时机制,所以每一个进程都能循环获得分配给自己的时间片。线程(Thread) 比进程更小的执行单位,可以在进程内部同时执行。 实现并发程序控制单一线程多线程 通过继承Thread类来实现。通过实现Runnable接口实现多线程Thre

28、ad类也是Runnable接口的一个子类,但其无法实现资源共享。但是Runnable接口实现的子类可实现。一个类继承了Thread类后,该类的一个对象无论调用多少次start()方法,都只有一个线程在运行。如果运行多个线程对象的start()方法,就会相应的执行多少个线程,而且,这些线程独占各自的资源。实现Runnable接口的类,启动多个线程对象,操作的是同一个资源,实现了资源共享。Thread类Runnable接口一个线程对象.start()方法多个线程对象.start()方法多个资源一个资源占用资源独占共享可见,实现Runnable接口相对于继承Thread类来说,有如下显著的优势: (

29、1)、适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码、数据有效分离,较好地体现了面向对象的设计思想。(2)、可以避免由于Java的单继承特性带来的局限。开发中经常碰到这样一种情况,即:当要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么就只能采用实现Runnable接口的方式了。(3)、增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程可以操作相同的数据,与它们的代码无关。当共享访问相同的对象时,即共享相同的数据。当线程被构造时,需要的代码和数据通过一个对象作为构造函数实参传递进去,这个对象就是一个实现了Runnable接口的类的实例。 事实上,几乎所有多线程应用都可用第二种方式,即实现Runnable接口。线程状态五种状态:创建Thread th=new Thread();就绪 调用start()方法,启动线程,此时线程进入就绪状态,等待CPU的调度;运行 自动调用线程对象的run()方法,run()定义了线程的操作和功能;阻塞 一个正在运行的线程,在某些情况下

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1