Java总结第八天

1、多态性
多态性的体现
方法的重载和重写
对象的多态性
对象的多态性
向上转型:程序会自动完成
父类 父类对象  = 子类实列
向下转型:强制类型转换
子类 子类对象 = (子类)父类实列

2、instanceof关键字
在java中可以使用instanceof关键字判断一个对象到底是不是一个类的实列



3、ecplice:
快捷代码提示: Alt + /
快捷删除行 :Ctrl + D
下一行:Shift + Enter 
运行:Ctrl + F11
快速移动行:Alt + 上下键
快速放大工作区:Ctrl + M
注释:Ctrl + /
4、仔细理解 抽象类 和  接口


5、异常处理:
try...catch...finally抛出异常后,在catch外面的代码还是会继续往下执行。但是try{}里的语句不再往下执行(包括当前语句若是输出也不会输出)。
注意:catch里面的异常类应从子类——>父类的顺序写,否则会报错。

try{
是可能出现异常的执行语句块
} catch (Exception e) {
出现异常时针对性的处理语句块
} finally {
try-catch的最后收尾处理,主要用于关闭连接等
}
代码:
1、
package N08;

class Parent{
public void tell1(){
System.out.println("Parent Tell1");
}
public void tell2(){
System.out.println("Parent Tell2");
}
}

class Child extends Parent{
public void tell1(){
System.out.println("child Tell1");
}
public void tell3(){
System.out.println("child Tell3");
}
}

class Child01 extends Parent{
public void tell4(){
System.out.println("child Tell4");
}
}


public class N1 {

/**多态性
* @param args
*/
public static void main(String[] args) {
// Child ch = new Child();
// Parent par = ch; //向上转型
// par.tell1(); //tell1的方法是重写的  
// par.tell2();
// //向下转型
// Parent par = new Child();
// Child ch = (Child) par;
// ch.tell1();
// ch.tell2();
// ch.tell3();
// say(new Child());
// say(new Child01());
Parent par = new Parent();
System.out.println(par instanceof Parent);
System.out.println(par instanceof Child);
Parent par1 = new Child();
System.out.println(par1 instanceof Parent);
System.out.println(par1 instanceof Child);
}
public static void say(Parent ch){
ch.tell1();
}

}

2、
package N08;

abstract class Person{
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public Person(int age){
this.age = age;
}
public abstract void want();
}


class Student extends Person{

public Student(int age) {
super(age);
}

@Override
public void want() {
System.out.println("我想要吃饭,,,," + "年龄:" + getAge());
}
}

class Worker extends Person{

public Worker(int age) {
super(age);
// TODO Auto-generated constructor stub
}
@Override
public void want() {
// TODO Auto-generated method stub
System.out.println("我想要走路,,,," + "年龄:" + getAge());
}
}

public class N2 {

/**抽象类的应用   不要去继承一个写好的类
* @param args
*/
public static void main(String[] args) {
Student st = new Student(10);
st.want();
Worker wo = new Worker(20);
wo.want();
}

}


3、
package N08;


interface USB{
void start();
void stop();
}

class C{
public static void work(USB u){
u.start();
System.out.println("工作,我来了");
u.stop();
}
}

class U implements USB{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("U盘开始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("U盘停止工作");
}
}

class Printer implements USB{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("打印机开始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("打印机停止工作");
}
}


public class N3 {

/**接口的应用
* @param args
*/
public static void main(String[] args) {
C.work(new U());
C.work(new Printer());
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值