JavaSE Review

如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。

public abstract class Employee
private String name;
private String address;
private int number;

public abstract double computePay();

//其余代码
}
public class Salary extends Employee
{
private double salary; // Annual salary

public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}

//其余代码
}
15:36:42
封装?即将类的属性定义为private,不对外开放。
public class EncapTest {
private String name;
private int iNum;

public int getiNum() {
return iNum;
}

public void setiNum(int iNum) {
this.iNum = iNum;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public static void main(String[] args) {
EncapTest encp=new EncapTest();
encp.setiNum(360);
encp.setName("Jack");
System.out.println("iNum="+encp.getiNum());
System.out.println("name="+encp.getName());
encp.name="Lucy";
System.out.println("name="+encp.getName());//因为在同一个类里面,类里面成员可以调用类属性
}
}
2021-09-03 2021-09-03
throws出现在方法头(起声明作用),表可能出现异常
而throw出现在方法体,用来抛出异常
但其实二者都是消极处理(即被动处理),只是可能抛出或抛出异常,并不会去处理异常
void doA(int a) throws Exception1,Exception3{
try{
......
}
catch (Exception1 e)
{
throw e;
}
catch (Exception2 e)
{
System.out.println("出错了");/*throws没有Exception2是因为此处已由该方法自己处理*/
}
if(a!=b){
throw new Exception3("自定义异常")/*3虽然程序员自己做了处理但仍需与1一样,由该方法的调用者去处理此异常。
}
}
处理异常的原则:
  try{}catch{},catch中必须要对捕获的异常进行处理,无论是抛出或者只是一句间的的输出语句。
  如果在方法体内用throw抛出了某种异常,最好在方法头加throws抛出异常声明,然后交给它的上层方法去处理。


posted @ 2021-09-02 15:24  Mosh  阅读(32)  评论(0)    收藏  举报