现在的位置: 首页 > 综合 > 正文

第十天:JavaBean

2018年05月16日 ⁄ 综合 ⁄ 共 2651字 ⁄ 字号 评论关闭

关于JavaBean
 1 JavaBean 不是语法规范,是习惯性编程规范,用这个规范
   写的类使用方便。有时候JavaBean的类也称为:POJO
   Plan Old Java Object(普通的java对象 )
  
 2 规范:
   a 必须有包.
   b 是一个Java类,具有无参数构造器。
   c 有用getXxx() 和 setXxx() 声明的Bean属性。
     如:getName() 和 setName(String n) 声明的
       Bean属性为:name, 与是否有实例变量name无关.
       boolean类型的get方法可以有两种形式:
         getMarried() 或者 isMarried()
   d 必须实现序列化接口(在学习IO的时候具体学习。)
   e JDK提供的类几乎都符合JavaBean规范。
     如:String
   
 3 JavaBean 最大的好处:“使用方便”

//父类引用指向子类对象就是指多态。

引用类型转换(是引用变量的类型的转换!)之前讲的是基本类型转换,与之基本相同。
 1 向下转型(自动类型转换),是小类型到大类型的转换
   如:
   Circle c = new Circle(1,2,3);
   Shape s = c;//表示圆一定是图形
 2 向上造型(强制类型转换),是大类型到小类型。
   如:
   Shape s = new Circle(1,2,3);
   Cirlcle c = (Circle)s; //当s实际引用圆时候,能够转换成功
   s = new Rectangle(1,1,2,2);
   Circle c2 = (Circle) s;//出现类型转换异常,因为  ---属于运行异常,编译不会报错。
   // s引用的是Rectangle 不是圆实例。
 3 instanceof 运算符,用来检查引用对象的类型。
   经常与“引用类型强制转换”配合,实现安全的类型转换,
   避免类型转换异常。

实例变量: 对象的属性, 每个对象都不同, 如: 矩形的宽度
但是有些概念是公共的,全体共有的,用static.叫做静态变量。 
 
//整个内存区只有一份,不是在对象中实例化的.
 
static 修饰词(关键字),都是用来修饰类的成员的。

//StaticDemo.java十分重要,要看看,那个jobsy项目里面的静态方法的知识点全在这里!

 1 静态修饰的成员变量,是属于类级别的变量,是在类的加载
 期间分配的,所有类和类的实例共享的一个变量,相当于全局
 变量。一般使用类名访问静态属性:
  Koo.x = 3;
  
 2 静态的方法。是属于类的方法,可以通过类名访问。
 是全体类公有的工具方法。静态方法和类的实例无关。
 在静态方法中不可以访问“this”,或者说:静态方法只能
 访问静态成员。
 //静态方法经常用于作为工具方法。十分重要!例如java中自定义的。
  int a = Math.abs(-1);
String string = Integer.toHexString('中');
 
 3 静态代码块,是在类加载期间运行的代码块,由于类只加载
 一次,
 所以静态代码块只执行一次!且记,只执行一次。
 
 用途不是很常见,一般用来在类加载以后初始化一些静态资源
 时候使用,如:加载配置文件。
//所以,静态方法是在类加载期间初始化的,而普通方法是在new的时间初始化的,所以SchoolMajor.java
//在程序一运行就能够执行。在工具类中用它,十分重要。
 
 4 静态内部类(在内部类专题讲解)

final 最终的
 1 final 修饰的类,不能再被继承。
   Java 的String就是final类,不能被继承!
   Math 也是final
   所以String和Math是不能名被继承的。
   
   在实际项目开发中,原则上不允许使用final类!
   Spring, Hibernate,Struts 2, 这个框架经常动态继承
   代理我们的类。使用final的类可能造成这些框架的工作问题
 
 2 final修饰的方法,不能再被覆盖。
  在实际项目开发中,原则上不允许使用final方法!
// 它是指,父类中有final方法,子类中就不能再继承带有final的方法。
  
 3 final 修饰的变量,初始化以后不允许再修改了。
   a final 临时变量
   b final 方法参数
   c final 的成员变量
 4 final static -- Java使用final static修饰的变量作为常量。
    一般要求常量名都有大写字母。
  
  
抽象类--不具体的类
 1 抽象方法,只有行为的概念,没有具体的行为实现。
   使用:abstract 关键字修饰,并且没有方法体。
   
 2 包含抽象方法的类,就一定是抽象类。抽象类里面可以包含非抽象方法。
 
   使用: abstract 关键字修饰,包含抽象方法。
   
  如:平面图形一定可以计算面积。
  public abstract class CRMSystem{
   public abstract Client addClient(
   String name, String qq);
  }
 3 抽象方法和抽象类非常适合作为系统的分析和设计的工具。
 
 4 抽象类不能直接创建实例。可以定义引用变量。
     //Shape s = new Shape();//错了, 不能直接实例化抽象类
   Shape s = new Rect(3,4);//这个又叫多态
   
 5 抽象类只能被继承,一个具体类继承一个抽象类,必须实
   现所有抽象方法。
   
预习: 接口 String StringBuilder 正则表达式 

接口
 1 接口:全部的方法都是抽象方法,全部的属性都是常量。
   接口用来表示纯抽象概念,没有任何具体的方法和属性。
 2 不能实例化,可以定义变量。
 3 接口变量可以引用具体实现类的实例。
 4 接口只能被实现,一个具体类实现接口,必须使用全部的
   抽象方法。
 5 接口之间可以继承。
 6 一个具体类可以实现多个接口,实现多继承现象,表示:
 一个概念即是XXX也是XXX.
 7 接口中的属性,默认是常量 public static final 
 8 接中的方法一定是:public abstract 
 9 实现一个接口,使用关键字implements, 实现实际上是
   一种继承关系。接口和实现类是父子类型的关系

Object 的方法 是Java的继承root类, 所有类都从
  这个类继承.
 1 toString() 方法, 返回对象的文本描述, 经常被
   系统默认调用, 默认返回: 权限定名@HashCode;
   SUN 建议覆盖toStirng(), 返回合理的文本.

    

【上篇】
【下篇】

抱歉!评论已关闭.