接口final 、static修饰符的使用

原创 2012年03月26日 09:07:30

1 Java Bean

  关于JavaBean规范

 1) JavaBean 不是语法规范,是习惯性编程规范,用这个规范

   写的类使用方便。有时候JavaBean的类也称为:POJO

   Plan Old Java Object

 

 2) 简化规范:

   a 必须有包.

   b Java类,具有无参数构造器。

   c 有用getXxx() setXxx() 声明的Bean属性。

     如:getName() setName(String n) 声明的

       Bean属性为:name, 与是否有实例变量name无关.

       boolean类型的get方法可以有两种形式:

         getMarried() 或者 isMarried()

   d 必须实现序列化接口(在学习IO的时候具体学习。)

   e JDK提供的API类几乎都符合JavaBean规范。

     如:String

  

 3) JavaBean 最大的好处:“使用方便”

 

2 static 静态关键字, 修饰: 属性, 方法, 内部类, 代码块

  static修饰的资源属于类级别, 是全体对象实例共享的资源

  (属性, 方法, 内部类)

 1) 静态属性, 使用static修饰的属性, 是在类的加载期间初始化

  是属于类的, 全体类的实例共享的变量, 使用类名访问属性.

    实例变量: 属于对象的属性.

 2) static 方法, 使用static声明的方法, 属于类的方法, 一般

  用来表示工具方法. 在类加载以后就可以自己调用, 不需要创建任何

  类的实例.

 3) 静态代码块,是在类加载期间运行的代码块,由于类只加载

 一次,所以静态代码块只执行一次!

 用途不是很常见,一般用来在类加载以后初始化一些静态资源

 时候使用,如:加载配置文件。

 

 4) 静态内部类(在内部类专题讲解)

 

3 final 最终的

 1) final 修饰的类,不能再被继承。

   Java String就是final类,不能被继承!

   Math 也是final

   Integer (包装类)

   在实际项目开发中,原则上不允许使用final, final方法!

   Spring, Hibernate,Struts 2, 这些框架会使用"动态代理技术"

   动态代理技术: 动态继承类, 并且覆盖所有方法, 在覆盖方法中插入功能

   final的类和方法或阻止动态代理技术的实现, 影响框架的运行.

 

 2) final修饰的方法,不能再被覆盖。

  在实际项目开发中,原则上不允许使用final方法!

 

 3) final 修饰的变量,初始化以后不允许再修改了。

   a final 局部变量

   b final 方法参数

   c final 的成员变量

 4) final static -- Java使用final static修饰的变量作为常量。

    一般要求常量名都有大写字母。

    常量不是: const

 

 

4 abstract class 抽象类--不具体的类

 

  abstract: 抽象的, 是指不够具体, 概念性的

 

 1) 抽象方法,只有行为的概念,没有具体的行为实现。

   使用:abstract 关键字修饰,并且没有方法体。

 2) 包含抽象方法的类,就一定是抽象类。

   使用: abstract 关键字修饰,包含抽象方法。

  如:平面图形一定可以计算面积。

 

 3) 抽象类不能直接创建实例。可以定义引用变量。

 4) 抽象类只能被继承,一个具体类继承一个抽象类,必须实

   现所有抽象方法。 

 5) 抽象方法和抽象类非常适合作为系统的分析和设计的工具。

       public class abstract CRMSystem{

         public abstract Client add(Client newGuy);

         public abstract Event add(Event e, Client guy);

         public abstract Event[] todayEvents();

       }

 

5 接口, 相当于纯抽象类(cpp纯虚类)

 1 接口:全部的方法都是抽象方法,全部的属性都是常量。

   接口用来表示纯抽象概念,没有任何具体的方法和属性。

   public interface CRMSystem{

         Client add(Client newGuy);

         Event add(Event e, Client guy);

         Event[] todayEvents();

   }

 2 不能实例化,可以定义变量。

 3 接口变量可以引用具体实现类的实例。

 4 接口只能被实现(继承),一个具体类实现接口,必须使用全部的

   抽象方法。

 5 接口之间可以继承。

 6 一个具体类可以实现多个接口,实现多继承现象,表示:

 一个概念即是XXX也是XXX.

 7 接口中的属性,默认是常量 public static final

 8 接中的方法一定是:public abstract

 9 实现一个接口,使用关键字implements, 实现实际上是

   一种继承关系。接口和实现类是父子类型的关系

 

5 Object

 1) Java 类默认继承于Object! 继承了Object 的属性和方法

   : toString(),  hashCode(), equals()

 2) toString() 方法, 经常有系统默认调用, 用来输出当前对象的

 文本描述, Object默认返回: 全限定名@hashCode

  建议覆盖为: 当前对象的文本描述

 

 

java中static和final修饰符作用

static 修饰符 作用(静态的只能访问静态的) 1.修饰变量:-----被static修饰叫做静态变量或者是类变量; 没有被修饰的叫做实例变量 每个对象都共有的属性就可以设置为static...
  • xvzhengyang
  • xvzhengyang
  • 2016年12月14日 09:57
  • 284

Java中的修饰符说明(public,private,protected,default,final,abstract,static)

public(公共访问权限):这是一个宽松的访问控制级别,如果一个成员(包括成员变量、方法和构造器等)或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类(注:在该类外部,...
  • yuyibing888
  • yuyibing888
  • 2016年01月20日 17:25
  • 1696

java中的三大修饰符static、final、abstract

一、static 关键字          可以修饰:           1.属性--> 被static关键字修饰的属性叫类变量,是全类共有的,可直接用类名访问。               ...
  • u010442302
  • u010442302
  • 2016年03月02日 22:02
  • 617

java中接口的概念及使用(补充final修饰符的使用)

接口 接口 初期理解,可以是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示 class 用于定义类 interface 用于定义接口 接口定义时,格式特点: ...
  • u011528448
  • u011528448
  • 2015年01月26日 16:51
  • 796

java中的修饰符final和static

1.final 修饰类时表明该类不能被继承,自然类中的方法默认是final型的。 2.final 修饰方法时不允许被子类覆盖,也就是可以被继承。一个final类中,一个final方法只能被实现一次。...
  • nishuihanliu
  • nishuihanliu
  • 2016年04月29日 21:30
  • 866

简述static,final,abstract三者的使用场景与注意事项

简述static,final,abstract三者的使用场景与注意事项
  • qq_21806621
  • qq_21806621
  • 2017年03月14日 22:14
  • 1213

JAVA -- 关键字 abstract、static、final、native、synchronized

1、abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用; 2、static:用来声明静态方法,静态方法可以被类及其对象调用;abstrac...
  • u010286334
  • u010286334
  • 2015年06月04日 17:53
  • 506

谈一谈我眼中的常见修饰符(private,final,static)

1 final的概念 继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就...
  • qiten007
  • qiten007
  • 2017年02月17日 14:51
  • 669

static 和 final 的顺序

private static final int A =1; private final static int A =1; 上面
  • D801907
  • D801907
  • 2014年05月13日 13:26
  • 1896

java中4种修饰符访问权限的区别及详解全过程,final修饰符 ,static修饰符 ,abstract修饰符

java修饰符
  • zhangweigangweiwu
  • zhangweigangweiwu
  • 2015年07月09日 10:07
  • 828
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:接口final 、static修饰符的使用
举报原因:
原因补充:

(最多只允许输入30个字)