Java入门第二篇

本文深入浅出地讲解了Java编程的基础概念,包括类的构造方法和get|set方法的使用,对象的实例化,类的继承机制,抽象类和接口的区别,访问修饰符的作用,多态的实现以及异常处理和常用类的介绍。特别关注了类和对象的创建,以及如何处理系统异常和自定义异常。
摘要由CSDN通过智能技术生成

目录

1、类

2、对象

3、类的继承

4、抽象类和接口

5、修饰符

6、多态

7、异常处理

8、常用类


1、类

构造方法:快捷键(source菜单-generate constructor using fields)

get|set方法:快捷键(source菜单-generate getters and setters)

2、对象

   格式:类名 对象名=new 构造函数(实参);

内容(静态  动态  )

类和对象这一块可能在理解上需要记得东西更多(看网站老师的总结)

3、类的继承

  [修饰符] class B extends A  

4、抽象类和接口

  抽象类定义:abstract class 类名{ }

  接口定义: [public]   interface  接口名{ }

接口继承: [public] interface  接口名 extends 父接口列表{ }

接口实现: [修饰符] class   类名  implements  父接口列表{ }

5、修饰符

  (1)访问控制符

访问控制符有四种级别,从小到大依次为private,默认,protected,public。含义如下:

(2)非访问控制符:包括abstract,final,static等。

abstract可以修饰类或方法,分别表示抽象类和抽象方法。

final可以修饰类、方法、成员属性和局部变量,分别表示最终类、最终方法和常量。

static修饰类成员,表示该成员属于类,通过类访问。

很多修饰符不能同时使用,会产生矛盾,如:  

①abstract和final不能并列修饰同一个类。

②abstract不能与private,static,final并列修饰同一个方法。

6、多态

  多态是面向对象程序设计的重要特征,从实现角度看,多态就是指同一名字(功能)的方法有多种不同的实现。

多态有两种实现:覆盖(Override)和重载(Overload)。

7、异常处理

 <1>、系统异常

    常见系统异常

 ①ArithmeticException:算数异常

      如:int a=10/0;

②NumberFormatException:数值格式转换异常

 如:String s="abc";   int a=Integer.parseInt(s);//把非数值形式的字符串s装换为整数

 ③NullPointerException:空指针异常

  如:A[] s=new A[10]; s[0].f();  //A是一个类,s[0]对象没有创建就调用方法

 ④ClassCastException:类转换异常

  如:B b=(B)new A();  //假设B是A的子类

 ⑤ArrayIndexOutOfBoundsException、StringIndexOutOfBoundsException:数组或字符串下标越界异常

如:int[] a = new int[5];String s = "abc";System.out.println(a[5] + "," + s.charAt(3));

 ⑥NegativeArraySizeException:数组个数为负数异常

   如:int[] a=new int[-2];

 ⑦ClassNotFoundException:类找不到异常

 如:Class.forName("aa.bb.cc.Test");//加载一个不存在的类

 ⑧FileNotFoundException:文件找不到异常

  如:File file1 = new File("c:/aaa.txt");

   FileInputStream fis = new FileInputStream(file1);//读取一个不存在的文件

<2>、自定义异常类:用户自定异常类须是Exception类的子类

   class OutOfBounds extends Exception {

    public String toString() {

        return "数值超出范围";

    }

8、常用类

<1>.object类

    (1)   public final Class getClass()方法

获取当前对象所属类的信息,返回Class对象。任何对象所属的类都是确定的,故该方法不能被子类重写。通过Class类,程序可以在运行时动态访问类的信息。

(2)       public int  hashCode()方法

得到用以标志对象的哈希码。默认情况下,该方法将对象在内存中的地址转换为一个int型整数作为返回值。未重写该方法时,任何对象的哈希码都是唯一的。

(3)       public boolean equals(Object obj)方法

比较两个对象是否“同一”,即比较两个引用是否指向同一个对象,与==含义相同。该方法经常被重写,以真正实现比较两个对象是否相等。通常情况下,若子类重写equal方法,也必须重写hashCode方法,这主要是为了和集合类结合在一起时能正常工作。官方文档中对hashCode方法有如下约定:如果两个对象根据equals方法是相等的,那么hashCode方法也应该返回一样的值;如果两个对象根据equals方法不相等,并不要求hashCode方法的结果不一样。

(4)       protected Object clone()方法

返回当前对象的一个拷贝,该方法通常需要在子类中重新改写才能使用。

(5)       public String toString()方法

以字符串形式返回对象相关信息。结果是对象的类名通过@字符与对象的哈希码的十六进制形式连接。实际应用中建议改写这个方法,因为它会给代码的调试和跟踪带来便利。

(6)       protected void finalize()方法

定义垃圾回收器回收当前对象时所需完成的清理工作。

<二>、基本数据类型封装类

   (1)构造方法

public Integer(int value)  //利用整数生成对象

public Integer(String s)  //利用字符串生成对象

(2) 成员方法

public int intValue()  //返回对象的整数值

public double doubleValue()   //返回对象的浮点数值

public String toString()   //将对象对应整数值转化为字符串

public static String toString(int i)   //将指定整数转化为10进制字符串

public static int parseInt(String s)   //将字符串转化为整数

public static Integer valueOf(String s)  //利用字符串转化为对象

<3>.字符串类

 字符串常量(String)和字符串变量(StringBuffer)

(1)构造方法

public  StringBuffer()  //创建一个空的StringBuffer对象

public  StringBuffer(int length) //设置初始容量

public  StringBuffer(String s) //利用已知字符串初始化StringBuffer对象

(2)成员方法

public  StringBuffer append(String str)//在字符串的尾部追加指定字符串,重载方法有多个。

public  StringBuffer insert(int index,String str)//在指定位置插入指定字符串,重载方法有多个。

public void setCharAt(int index, char c)// 将index处的字符设置为c

public StringBuffer reverse() //将字符串翻转

public StringBuffer replace(int start,int end, String str)//用指定字符串替换指定位置的子串

<4>.system和runtime类

<5>数学运算类

<6>.日期时间类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季沐晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值