08.面向对象程序设计进阶(下)a

08.面向对象程序设计进阶(下)a

ID:43170584

大小:1.35 MB

页数:40页

时间:2019-10-01

08.面向对象程序设计进阶(下)a_第1页
08.面向对象程序设计进阶(下)a_第2页
08.面向对象程序设计进阶(下)a_第3页
08.面向对象程序设计进阶(下)a_第4页
08.面向对象程序设计进阶(下)a_第5页
资源描述:

《08.面向对象程序设计进阶(下)a》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、static关键字1、修饰变量静态变量(类变量)country=“中国”在JVM中,该变量只有一份拷贝,通过任何该类的实例或类本身去修改静态变量的值都是在修改同一个值2、修饰方法(静态方法)A、可以通过类直接访问B、静态方法只能直接访问其它的静态变量或静态方法.3、修饰块(静态块)一个类中可以使用不包含在任何方法体中的静态代码块(staticblock),当类被载入(ClassLoad)时,静态代码块被执行,且只被执行一次,静态块经常用来进行类属性的初始化。静态(static)Static静态变量:当我们编写一个类时,其实就是在描述

2、其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。静态(static)静态方法:1.在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先

3、创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。2.静态方法不能以任何方式引用this和super关键字。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。3.main()方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到。静态(static)理解mai

4、n方法由于java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public,又因为java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static的,该方法接收一个String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数。静态(static)静态块一个类中可以使用不包含在任何方法体中的静态代码块(staticblock),当类被载入时,静态代码块被执行,且只被执行一次,静态块经常用来进行类属性的初始化。例如类加载时的初始化工作,那些一次性加载不再作修改的内容。(构造器通常作实

5、例变量初始化)类中的静态代码块被自动执行,尽管我们产生了类的多个实例对象,但其中的静态代码块只被执行了一次。静态(static)1、修饰变量(常量)2、修饰方法A、该方法不能被覆盖B、JVM会对final方法自动优化,其执行效率会比普通方法更高3、修饰类类不能被继承finalJava中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况去实现.这样的方法就是抽象方法,包含抽象方法的类就叫做抽象类。一个类中可以有一个或多个抽象方法。抽象类(abstract)A、抽象方法只需声明,而不需实现。含有抽象方法的类必须被

6、声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类也必须声明为抽象类。B、抽象类不能实例化(即就是不能用new关键字去产生对象),抽象类的作用就是为了被继承C、抽象类可以包含具体方法D、当一个类继承抽象类时,必须实现抽象类中的所有抽象方法,否则,这个子类也必须声明为一个抽象类注意:含有抽象方法的类肯定是抽象类,而抽象类不一定包含抽象方法.抽象类(abstract)如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义。接口是抽象方法和常量值的定义的集合,从本质上讲,接口

7、是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。但是接口和抽象类的意义就有非常大的区别接口(interface)A、接口中所有方法都是抽象方法(abstract关键字可以省略)B、接口中可以有属性,所有属性将默认包含public、static、final修饰符C、我们可以定义一个新的接口用extends关键字去继承一个已有的接口,我们也可以定义一个类用implements关键字去实现一个接口中的所有方法,我们还可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法。D、如果一个

8、类实现了某个接口而未能实现接口中定义的所有抽象方法,则该类必须声明为抽象类E、一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implemnets关键字之前。(Java多继承的实现)接口(interfac

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。