基本数据类型包装类
  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. JVM体系结构与工作方式

    JVM全程是java virtual machine(java虚拟机). 以计算为中心来看计算机的体系结构可以分为以下几个部分: 1.指令集:这个计算机所能识别的机器语言的命令集合; 2.计算单元:能 ...

  2. OAF_开发系列09_实现OAF预提取LOV设定(案例)

    20150712 Created By BaoXinjian

  3. ubuntu下编译protobuf

    参考: http://blog.csdn.net/wuzuyu365/article/details/51900676 1.下载protobuf下载地址:https://github.com/goog ...

  4. SQL2008 清除日志

    USE [master] GO ALTER DATABASE BizTest SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE BizTest SE ...

  5. JQuery easyui Datagrid 分页事件

    easyui是Jquery中的一个轻量级UI插件,提供了一些诸如window.datagrid.button等控件.现在主要说说Datagrid中分页控件的使用. easyui中可以单独添加分页pag ...

  6. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...

  7. 使用WinRAR创建可执行程序(例如:Java程序打包 成exe)

    不管你是java.c.还是xx程序,只要打包成可以双击运行/或者命令行运行,都可以用WinRAR软件生成压缩格式的exe文件,目标电脑可以没安装解压软件,依然可以运行解压. 第一步:准备压缩的所有文件 ...

  8. (转载)FT232RL通信中断问题解决办法总结

    原文地址:http://cuiweidabing.blog.163.com/blog/static/66631928201101514021658/ FT232RL是FTDI(www.ftdichip ...

  9. C#获取网页内容的三种方式

    C#通常有三种方法获取网页内容,使用WebClient.WebBrowser或者HttpWebRequest/HttpWebResponse... 方法一:使用WebClient (引用自:http: ...

  10. C++设计模式-Prototype原型模式

    作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C+ ...