基本数据类型包装类
  Integer    Character
  其他的都是将首字母大写;
  
 包装类和基本类型之间的转换:
 
 Integer   int
 Integer i = new  Integer(int value);
 int i2 = i.intValue();
 
 基本数据类型和String转换
 String -->int
 static int parseInt(String s)
 int i = Integer.parseInt("123");
 int ->String
 String 类valueOf(int val);
 String str = String.valueOf(123);
 
 装箱和拆箱:
  
 java5开始出现自动装箱和拆箱;
 
 自动装箱:
   可以直接把一个基本数据类型的值直接赋给它所对应的包装类对象;
   Integer i = 17;
 自动拆箱:把包装类对象直接赋给它所对应的基本类型的一个变量
   int i2 = new Integer(2);
   Object是所有类的超级父类,
   Object的对象可以接受一切数据;
  享元模式: 
   Byte,Short,Integer,Long缓存了一个区间的数据;[-128,127]看源代码
   Integer i1 = 123;
   Integer i2 = 123;
   i1 == i2;//true
   new Integer(123) == new Integer(123);//false
 Object类:就是描述对象的一个类
  是超级父类;
  可以接受一切数据,包括数组;
  Object o = {1,2,3};
  Object o = new int[]{1,2,3};
 boolean equals(Object otherObj);
  就是那当前对象和otherObj相比较;
  默认情况下,比较的是  内存里的地址,此时和 == 一样;
  一般要求子类根据自身情况覆写该方法,
  String 类覆写  equals方法
  Integer  类也覆写了 equals方法
 int hashCode();//返回对象的一个十进制的hash值,每个对象的hashCode都不一样
 String toString();//把对象转成String类型,  描述对象信息
  默认情况下,  类的全限定名 + @ + Integer.toHexString(this.hashCode());
  一般要求子类覆写该方法
  平时我们打印对象,其实打印的是对象的toString方法,也就说在底层该对象会去调用toString方法
  
 class Person{
  String name;
  
  int age;
  public Person(String name,int age)
  {
   this.name = name;
   this.age   = age;
  }
  
  public String toString()
  {
   return this.name +", " + this.age;
  }
 }
 
 public static void mian (String []args)
 {
  System.out.println(new Person("Will",17));
  System.out.println(new Person("Lucy",16));
  
 }
 
 代码块:
  1.普通(局部)代码块,写在方法;
  2.构造代码: 类里面,方法外面, 特点: 先于构造方法的执行,每次创建对象,都会执行
  3.静态代码块:  static 修饰的构造代码块, 特点: 优先于主方法的执行,只执行一次,  可以用来给静态变量赋值;
  4.同步代码块
 
 单例模式:
  保证项目中的一个类在运行期间有且只有一个实例对象;
   //1. 把构造方法给私有化,保证外界不能创建对象
   //2. 自身在内部先创建一个对象,再使用private修饰起来,
   //3. 向外暴露一个全局的静态的方法用于返回内部创建的对象;
      因为静态成员只能访问静态成员,那么此时必须把对象使用static修饰,
   饿汉式: 
     class Singleton
     {
      private Singleton(){}
      
      private static final Singleton instance = new Singleton();
      //线程安全
      public  static Singleton getInstance()
      {
       return instance;
      }
     }
   懒汉式: 
     class Singleton
     {
      private Singleton(){}
      
      private static final Singleton instance = null;
      
      //线程不安全的
      public  static Singleton getInstance()
      { 
       if(instance == null)
       {
        instance = new Singleton()
       }
       return instance;
      }
     }
  final:
   表示最终的;
   可以修饰 类,方法,变量;
   final 修饰的类 表示太监类,不能被继承;基本数据类型包装类全是
   final 修饰的方法 表示 不能被子类覆写 ;
   final 修饰的变量:
     常量: 常量名大写,若是多个单词组成,单词之间使用下划线隔开;
     全局常量: public static final 修饰的变量
     
     常量只能赋值一次
     
     若是引用类型的常量,表示 引用对象的地址不能变,但是对象的内容是可以改变的;
   
   方法里的内部类,只能访问方法里使用 final 修饰的变量;
 
 抽象类:
  使用 abstract 修饰的类,  一般抽象类都应该包含抽象方法,但不是必须的;
  若一个类有抽象方法,那么该类必须是抽象类;
  
  不能创建对象(不能 new),其他的换个普通类一样
  
  可以包含普通方法;
  
  什么时候使用抽象方法:
   父类定了子类应该具备的行为,但是 具体行为的实现必须得有子类来完成;
   
  抽象方法:
   使用 abstract 修饰的方法,
    只有方法的申明,没有方法的具体实现;(交给子类去实现)
    
    一般建议把 abstract 放在修饰符前面;
    
  抽象类必须有子类,
  而且子类必须全部覆写抽象类中的抽象方法,二者,子类也作为抽象类;
    
  青年(Person)都有吃饭(eat)和坐(set)的行为;
  但是文艺青年(ArtMan)和普通青年(NormalMan)各自的的吃饭和坐的行为的具体表现都不一样;
  
  abstract class Person
  {
   abstract void eat();
   abstract void set();
  }
  
  class ArtMan extends Person
  {
   void eat()
   {
    System.out.println("一根一根的吃");
   }
  }
  
  class  NormalMan extends Person
  {
   void eat()
   {
    System.out.println("一口一口的吃");
   }
  }
  
  class  B2 extends Person
  {
   void eat()
   {
    System.out.println("一坨一坨的吃");
   }
   
   void set()
   {
    System.out.println("腿搅成麻花儿");
   }
   
   void show()
   {
   System.out.println("腿搅成麻花儿");
   }
  }
  ...mian..//主函数
  {
    Person p = new B2();
    p.eat();//实际调用的是B2里的方法
    p.set();
    //p.show();//编译通不过,在Person里找不到
  }

Java类额应用的更多相关文章

  1. Java类文件最大限制

    今天在往一个jsp文件里添加代码时,项目跑起来访问这个jsp时报错.. The code of method _jspService(HttpServletRequest, HttpServletRe ...

  2. 别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】

    目录 1.什么是类的加载(类初始化) 2.类的生命周期 3.接口的加载过程 4.解开开篇的面试题 5.理解首次主动使用 6.类加载器 7.关于命名空间 8.JVM类加载机制 9.双亲委派模型 10.C ...

  3. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  4. jvm系列(一):java类的加载机制

    java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...

  5. java类与实例

    最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类.接口.泛型的用处和优缺点.设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧. 一.java对 ...

  6. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  7. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  8. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  9. kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

    该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...

随机推荐

  1. ubuntu下postgreSQL安装配置

    一.安装并配置,并设置远程登陆的用户名和密码 1.安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubunt ...

  2. Android基础之Activity四种启动模式

    这东西是最基础的,发现自己其实没有真正试过,好好研究研究 standard :默认, singleTop :大体上同standard,但是当该Activity实例已经在task栈顶,不再创建新的实例, ...

  3. translate和replace的区别

    今天在oracle数据库中看到replace和translate的嵌套就有点蒙了,于是就上网看了一下,感觉豁然开朗: 今天遇到的问题如下: replace(TRANSLATE(a.deal_msg,' ...

  4. vbox下创建共享存储

    1.创建共享盘VBoxManage.exe createhd -filename D:\VM\linux01\ocr_vote.vdi -size 2048 -format VDI -variant ...

  5. XE7 & IOS开发之开发账号(3):证书、AppID、设备、授权profile的申请使用,附Debug真机调试、Ad hoc下iPA文件生成演示(XCode5或以上版本推荐,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...

  6. 2、NASA HS3(Hurricane AND Server Storm Sentinel)

    国内访问不到,但是通过ppt可以看到,数据支撑做的很到位,前台展示很炫.  气象领域WebGL应用最好案例的当之无愧啊.这篇全部贴图了. 来自为知笔记(Wiz)

  7. R语言将字符串矩阵转化为数值型矩阵

    这是原始数据的格式,当运行完下面的命令的时候,结果如下图 x=read.table("C:/Users/Administrator/Desktop/s1.txt") x=as.ma ...

  8. java中Color类的简单总结

    java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...

  9. NOIP2016参赛总结

    NOIP2016复赛参赛总结 noip2016终于结束了,对于这次的比赛我只想说,死得好惨.(画风突变) 赛前趁着期中考浪到常州去培训,一天两套模拟的训练真的是心力交瘁(好吧没这么严重),不过那些模拟 ...

  10. 我现在的vimrc配置文件

    runtime! debian.vim "设置编码 set encoding=utf- set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312 ...