Open nxmxx opened 4 years ago
抽象
定义: 不同子类继承父类,父类定义对子类计算的方法,但子类不同。计算方法不同,则父类中抽象的创建计算方法,具体对每个子类怎么计算不知道,只是抽象的知道计算方法。 举例: 图形计算面积,但不同图形具体怎么计算不知道,这就是一个抽象方法。
抽象方法和抽象类 (1) 抽象类格式 抽象类在class前加abstract关键字 Public abstract class{
} 2) (2) 抽象方法格式 抽象方法在放回值类型前加abstract关键字,并去掉{}。
public abstract void method (); 注:抽象方法所在类必须是抽象类; 抽象类中依然可以写普通类。 (3) 抽象方法抽象类的使用 抽象类、抽象方法的使用 1.创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。 2.子类必须要覆盖重写父类中所有的抽象方法,就是把抽象类具体化,才可创 建对象去使用。 覆盖重写:去掉abstract关键字和“;”,加上“{ 方法体 }”, 3.创建子类对象进行使用。
Animal: package cn.javase.video.study.Abstract; /抽象类、抽象方法的使用 1.创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。
Cat: package cn.javase.video.study.Abstract;
public class Cat extends Animal { // 抽象方法的覆盖重写
@Override
public void method(){
System.out.println("maochiyu");
} }
Main: package cn.javase.video.study.Abstract;
public class Cat extends Animal { @Override public void method(){
} } (4) 注意事项 创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。 一个抽象类不一定必须有抽象方法,但一个抽象方法必须是在抽象类中的,无抽象方法的抽象类用在特殊场景。 抽象类中可以有构造方法,是供子类创建对象时初始化父类构造方法。 子类必须要覆盖重写父类中所有的抽象方法,就是把抽象类具体化,才可创建对象去使用。否则会报错。 覆盖重写:去掉abstract关键字和“;”,加上“{ 方法体 }”,
3.发红包案例
接口
接口定义: 接口就是一些公共规范标准,比如生活中的插头;
接口的定义基本格式 /*interface定义基本格式
接口的抽象方法定义 .Interface抽象方法的定义
public interface MyInterFace {
public abstract void interFaceAbstract(参数列表);
}
接口的抽象方法使用 (1)Interface类 package cn.javase.video.study.InterFace;
/*interface定义基本格式
1.Interface类基本格式: *public interface MyInterFace { //.......
2.Interface抽象方法的定义
格式:
public abstract 返回值类型 抽象方法名称 (参数列表);
要求:
(1) public 和 abstract两个关键字是规定死的,但可以省略任意一个或全部省略。
(2) 抽象方法的三要素 返回值类型、参数列表、方法名 根据要求做
} *接口的抽象方法使用
public abstract void abs2();
public abstract void abs3();
public abstract void abs4(); } (2)Interface类的实现类 package cn.javase.video.study.InterFace;
public class MyInterfaceabsimpi implements MyInterFace{
@Override public void abs1() { System.out.println("1 Interface Abstrct"); } @Override public void abs2() { System.out.println("2 Interface Abstrct"); } @Override public void abs3() { System.out.println("3 Interface Abstrct"); } @Override public void abs4() { System.out.println("4 Interface Abstrct"); }
(3)Interface类的实现类的使用类 package cn.javase.video.study.InterFace;
public class InterFaceMain { public static void main(String[] args) { MyInterfaceabsimpi impi =new MyInterfaceabsimpi(); impi.abs1(); impi.abs2(); impi.abs3(); impi.abs4(); }
抽象
定义: 不同子类继承父类,父类定义对子类计算的方法,但子类不同。计算方法不同,则父类中抽象的创建计算方法,具体对每个子类怎么计算不知道,只是抽象的知道计算方法。 举例: 图形计算面积,但不同图形具体怎么计算不知道,这就是一个抽象方法。
抽象方法和抽象类 (1) 抽象类格式 抽象类在class前加abstract关键字 Public abstract class{
} 2) (2) 抽象方法格式 抽象方法在放回值类型前加abstract关键字,并去掉{}。
public abstract void method (); 注:抽象方法所在类必须是抽象类; 抽象类中依然可以写普通类。 (3) 抽象方法抽象类的使用 抽象类、抽象方法的使用 1.创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。 2.子类必须要覆盖重写父类中所有的抽象方法,就是把抽象类具体化,才可创 建对象去使用。 覆盖重写:去掉abstract关键字和“;”,加上“{ 方法体 }”, 3.创建子类对象进行使用。
Animal: package cn.javase.video.study.Abstract; /抽象类、抽象方法的使用 1.创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。
Cat: package cn.javase.video.study.Abstract;
public class Cat extends Animal { // 抽象方法的覆盖重写
@Override
public void method(){
} }
Main: package cn.javase.video.study.Abstract;
public class Cat extends Animal { @Override public void method(){
} } (4) 注意事项 创建对象时不能直接创建抽象类的对象,必须有子类继承,创建子类对象。 一个抽象类不一定必须有抽象方法,但一个抽象方法必须是在抽象类中的,无抽象方法的抽象类用在特殊场景。 抽象类中可以有构造方法,是供子类创建对象时初始化父类构造方法。 子类必须要覆盖重写父类中所有的抽象方法,就是把抽象类具体化,才可创建对象去使用。否则会报错。 覆盖重写:去掉abstract关键字和“;”,加上“{ 方法体 }”,
3.发红包案例
接口
接口定义: 接口就是一些公共规范标准,比如生活中的插头;
接口的定义基本格式 /*interface定义基本格式
接口的抽象方法定义 .Interface抽象方法的定义
public interface MyInterFace {
public abstract void interFaceAbstract(参数列表);
}
接口的抽象方法使用 (1)Interface类 package cn.javase.video.study.InterFace;
/*interface定义基本格式
1.Interface类基本格式: *public interface MyInterFace { //.......
}
2.Interface抽象方法的定义
格式:
public abstract 返回值类型 抽象方法名称 (参数列表);
要求:
(1) public 和 abstract两个关键字是规定死的,但可以省略任意一个或全部省略。
(2) 抽象方法的三要素 返回值类型、参数列表、方法名 根据要求做
public interface MyInterFace {
public abstract void interFaceAbstract(参数列表);
} *接口的抽象方法使用
public abstract void abs2();
public abstract void abs3();
public abstract void abs4(); } (2)Interface类的实现类 package cn.javase.video.study.InterFace;
public class MyInterfaceabsimpi implements MyInterFace{
}
(3)Interface类的实现类的使用类 package cn.javase.video.study.InterFace;
public class InterFaceMain { public static void main(String[] args) { MyInterfaceabsimpi impi =new MyInterfaceabsimpi(); impi.abs1(); impi.abs2(); impi.abs3(); impi.abs4(); }
}