java学习基础知识四

一、对象类型转换
1、基本类型的转换
  →自动类型转换:小的数据类型可以自动转换成大的数据类型
  →强制类型转换:大的类型转换成小的数据类型需要强制转换(数据类型)
2、对java对象的强制类型转换称为造型
  →从子类到父类的类型转换可以自动进行
  →从父类到子类的转换必须通过造型(强制类型转换)
  →无继承关系的引用类型间的转换是非法的

二、==操作符与equals方法
1、==:
  →基本类型比较值:只要两个变量的值相等,即为true
  →引用类型比较引用(是否指向同一个对象):只有指向同一个对象时,==才返回true
    Person p1=new Person();
    Person p2=new Person();
    if(p1==p2){}
  注:用"=="进行比较时,符号两边的数据类型必须兼容(可自动转换的基本数据类型除外),否则编译出错
2、equals():所有类都继承了Object,也就获得了equals()方法,还可以重写。
  →只能比较引用类型,其作用与"=="相同,比较是否指向同一个对象
  →格式:obj1.equals()

三、字符串与基本数据类型的转换
1、字符串转换成基本数据类型
  →通过包装类的构造器实现:
    int i=new Integer("12");
  →通过包装类的parseXxx(String s)静态方法:
    Float f=Float.parseFloat("12.1");
2、基本数据类型转换成字符串
  →调用字符串重载的valueOf()方法:
    String strf=String.valueOf(3.14f);
  →更直接的方法:
    String stri=5+"";
  →装箱:包装类使得一个基本数据类型的数据变成了类,有了类的特点,可以调用类中的方法:
    Integer i=new Integer(1); //进行封装
    String str1=i.toString();
    int i2=2;
    Stiring str2=i2.toString(); //java中不被允许

四、关键字static:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。
1、使用范围:
  在java类中,可用static修饰属性、方法、代码块、内部类
2、被修饰后的成员具备以下特点:
  →随着类的加载而加载
  →优先于对象存在
  →修饰的成员,被所有对象所共享
  →访问权限允许时,可不创建对象,直接被类调用
3、类属性、类方法的设计思想:
  →类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,
  将这些属性设置为类属性。相应的方法设置为类方法。
  →如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用。

五、单例(Singleton)设计模式
1、饿汉式设计模式:在类加载之后,还没有人调用就new一个对象,之后调用都是返回之前的对象
2、懒汉式设计模式:最开始对象是null,直到第一次调用getInstance()方法时来new一个对象,之后所有调用都是用这个对象

六、理解main方法的语法:由于java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public,
           又因为java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static,
           该方法接收一个String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数。

原文地址:https://www.cnblogs.com/MeiToufu/p/14322344.html