`
zhangtao0921
  • 浏览: 2538 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

abstract, interface, final, static 精析

 
阅读更多
一,抽象类:abstract

    1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类;

    2,抽象类中可以有具体的实现方法;

    3,抽象类中可以没有抽象方法;

    4,抽象类中的抽象方法必须被它的子类实现,如果子类没有实现,则该子类继续为抽象类

    5,抽象类不能被实例化,但可以由抽象父类指向的子类实例来调用抽象父类中的具体实现方法;通常作为一种默认行为;

    6,要使用抽象类中的方法,必须有一个子类继承于这个抽象类,并实现抽象类中的抽象方法,通过子类的实例去调用;



二,接口:interface

    1,接口中可以有成员变量,且接口中的成员变量必须定义初始化;

    2,接口中的成员方法只能是方法原型,不能有方法主体;

    3,接口的成员变量和成员方法只能public(或缺省不写),效果一样,都是public

    4,实现接口的类必须全部实现接口中的方法(父类的实现也算,一般有通过基类实现接口中个异性不大的方法来做为适配器的做法)



三,关键字:final

   1,可用于修饰:成员变量,非抽象类(不能与abstract同时出现),非抽象的成员方法,以及方法参数

   2,final方法:不能被子类的方法重写,但可以被继承;

   3,final类:表示该类不能被继承,没有子类;final类中的方法也无法被继承.

   4,final变量:表示常量,只能赋值一次,赋值后不能被修改.final变量必须定义初始化;

   5,final不能用于修饰构造方法;

   6,final参数:只能使用该参数,不能修改该参数的值;



四,关键字:static

   1,可以修饰成员变量和成员方法,但不能修饰类以及构造方法;

   2,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享

   3,static变量和static方法一般是通过类名直接访问,但也可以通过类的实例来访问(不推荐这种访问方式)

   4,static变量和static方法同样适应java访问修饰符.用public修饰的static变量和static方法,在任何地方都可以通过类名直接来访问,但用private修饰的static变量和static方法,只能在声明的本类方法及静态块中访问,但不能用this访问,因为this属于非静态变量.




五,static和final同时使用

   1,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!

   2,对于变量,表示一旦给值就不可修改,并且通过类名可以访问。

   3,对于方法,表示不可覆盖,并且可以通过类名直接访问。

分享到:
评论

相关推荐

    static、final、abstract和interface使用总结

    自己总结了一下java中static、final、abstract和interface的用法

    Java中抽象类和接口的区别与作用详解

    abstract class,只可以包含抽象方法,也包括一些常量的定义,丝毫不带半点实现细节,它只提供接口,可以有数据成员,默认是、同时也必须是static & final型,可以通过Interface name直接访问。Interface可以实现...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    public static final String NAME = "newsainton"; //print()方法有方法体,所以不是抽象方法 public void print() { System.out.println("非抽象方法中,Name = "+NAME); } //fun()方法不含方法体,为...

    详谈PHP中public,private,protected,abstract等关键字的用法

    在PHP中包含了很多对函数和类进行限制的关键字,常用的通常有abstract,final,interface,public,protected,private,static等等,下面我们就将对这些进行分析整理各个的用法。 变量与方法的关键字public,private,...

    Java中抽象类和接口的区别

    也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。  3.abstract ...

    1.5:接口和抽象类的区别.pdf

    也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。 3.abstract class...

    《java面向对象程序设计-继承和多态》教案.doc

    static 修饰符 3-3 演示:示例 6 final 修饰符 abstract 修饰符 3-1 由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类 抽象方法必须声明在抽象类中 抽象方法语法: abstract type method_name...

    【小白系列之骐程4】接口.txt

    public (static final可以省去,默认加上的) 属性类型 属性名 = 属性值; static:静态的,修饰的内容直接通过类名/接口名直接访问; final;不可修改的,修饰属性,属性必须初始化 (不需要对象,不可...

    5.尚硅谷_java基础_高级类特性

    static 关键字 final 关键字 抽象类(abstract 关键字) 接口(interface 关键字) 内部类

    Java复习题及答案

    C、 abstract interface A extends I1, I2 //I1、I2为已定义的接口 { abstract void print(){ };} D、 interface A { void print();} 三、程序阅读题(1~8题每题4分,第9题占8分,共40分) 1、若文件test.dat不存在...

    JAVA基础知识精华总结 收藏

    (1) 接口中的所有数据均为 static和final即静态常量。尽管可以不用这两个关键字修饰 ,但必须给常量赋初值。 (2) 接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。 (3) 如果使用public来...

    06~07手游公司面视题目.doc

    11. public interface Status { 12. /* insert code here */ int MY_VALUE = 10; 13. } 下面哪3个修饰符是可以插入在12行标记处的 A. final B. static C. native D. public E. private F. abstract G. ...

    接口知识点总结

    1)接口里的所有属性都是public static final的; 2)接口里的所有方法都是public abstract的; 3)接口与接口之间可以继承 如: public interface InterfaceA extends InterfaceB{} 4)类可以实现接口,一个类可以多实现...

    北邮高级语言程序设计(基于Java)第三次阶段作业.docx

    ____ public private static final 知识点: 第三单元过关自测 学生答案: [A;] 得分: [5] 试题分值: 5.0 提示: 以下哪个接口的定义是正确的_____ interface A {void print() { } ;} abstract interface A {void print...

    尚硅谷_佟刚_Java基础_高级类特性

     1.static 关键字  2.final 关键字  3.抽象类(abstract 关键字)  4.接口(interface 关键字)  5.内部类

    30天搞定Java–day9

    其它关键字:this、super、abstract、interface、static、final、package、import 谈谈你对面向对象中类和对象的理解,并指出二者的关系? 类:抽象的、概念上的内容 对象:实实在在存在的一个个体 对象是由类派生...

    【05-面向对象(下)】

     –常量都是:public static final修饰  –方法都是:public abstract 修饰  –内部的类:public static 接口的继承 •接口的继承和类继承不一样,接口完全支持多继承,子接口扩展某个父接口将会...

    Java面试宝典

    25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 18 26、什么是内部类?Static Nested Class 和 Inner Class的不同。 19 27、内部类可以引用它的包含类的成员吗?有没有什么...

    javaSE整体学习总结,超级全面

    多态(polymorphism)的要点,多态的好处和弊端,抽象(abstract),抽象(abstract)类的使用要点,接口(interface),接口的一些方法,接口的扩展(概念),内部类的要点,数组的定义和本质,String类是什么,常用的方法,StringBuffer...

    java实验报告(2).doc

    } public static void main(String srgs[ ]) { UseInterface x=new UseInterface(); x.func1(); x.func2(k); } } 结果: 多态在工资系统中的应用 设计一个根据雇员类型利用abstract方法和多态性完成工资单计算的...

Global site tag (gtag.js) - Google Analytics