十,几种特殊的类

1.Object

java中一切都是继承关系,一个类如果没有明确指定继承哪个类,则默认情况下是继承自Object,所以只要是引用数据类型都可以用Object类来进行接收,比如实例接口,数组,一般对象等.

对于一个完整的类来讲,应该覆写Object类中的以下三个方法:

  • toString() ,对象打印时调用

  • equals() ,对象比较时调用

  • hashCode() ,

示例:

class Person{
	public String toString(){	// 覆写了toString()方法
 		return "Hello" ;
	}
};
public class ObjectDemo05{
	public static void main(String arg[]){
		System.out.println(new Person()) ;
	}
};
输出对象时 ,实际上是输出了被覆写的方法 ,也就是说 toString()是表示对象信息的 .

:在开发中,绝对不要去继承一个已经实现好的类,而要实现接口或者抽象类,其中以接口为优先使用,可以避免单继承的局限.


2.匿名内部类

一个类内部还有一个类,称为内部类,匿名内部类是在抽象类和接口的基础上发展起来的.

匿名内部类使用的场景是一个类只会被使用一次,所以没有必要单独定义为一个类.

一般的开发中匿名内部类使用的比较少,使用比较多的情况是:

  • java的图形界面

  • Spring的开发框架

示例:

interface A{
	public void fun() ;
}
class X{
	public void fun1(A a){
		a.fun() ;
	}
	public void fun2(){
		this.fun1(new A(){                 //new A()即是匿名内部类
			        public void fun(){
			            System.out.println("Hello World!!!") ;
			        }
		                  }) ;
	}
};
public class NonameDemo02{
	public static void main(String args[]){
		new X().fun2() ;
	}
};


3.包装类

java中提倡一中概念:一切皆对象,那么会引入一个矛盾点,数据类型分为基本数据类型和引用数据类型,那么基本数据类型是类吗?为了解决这一矛盾,设置了八个包装类,用类的形式表示基本数据类型.

十,几种特殊的类_第1张图片

八种包装类分为一下两组:

数值型: Integer, Byte, Short, Float, Double, Long (都是Number的子类)

其他类型: Character, Boolean

在包装类中存在装箱和拆箱的操作:

  • 装箱操作:将基本数据类型转换为包装类.

  • 拆箱操作:将包装类转换为基本数据类型.

示例:

public class FloatDemo01{
	public static void main(String args[]){
		float i = 10.3f ;
		Float i2 = new Float(i) ;	// 装箱操作
		float j = i2.floatValue() ;	// 拆箱操作
		System.out.println(j * j) ;
	}
};

JDK1.5之前所有数据要手工装箱和拆箱,而且包装类本身不能进行数学运算,1.5之后加入了新特性,foreach,可变参数,自动装拆箱操作.


public class FloatDemo02{
	public static void main(String args[]){
		float i = 10.3f ;
		Float i2 = i ;	// 自动装箱操作
		float j = i2 ;	// 自动拆箱操作
		System.out.println(j * j) ;
	}
};


通过包装类可以取得最大值和最小值,:

public class IntegerDemo03{
	public static void main(String args[]){
		System.out.println(Integer.MAX_VALUE) ;
		System.out.println(Integer.MIN_VALUE) ;
	}
};
对于包装类而言 ,自动装拆箱是一个重要特点 ,但还有一个重要特点是可以将字符串变为基本数据类型 .

public static int parseInt(String s) throws NumberFormartException

示例:

public class IntegerDemo04{
	public static void main(String args[]){
		String str = "12sss3" ;	       // 字符串由数字组成
		int i = Integer.parseInt(str) ;	// 将字符串变为int型
		System.out.println(i++) ;
	}
};
当然也有 parseFloat()方法等 .需要注意的是 string中不能有非数字的其他字符 .





20150414


JAVA学习笔记系列

--------------------------------------------

                    联系方式

--------------------------------------------

        Weibo: ARESXIONG

        E-Mail: [email protected]

------------------------------------------------

你可能感兴趣的:(匿名内部类,包装类,Object类)