知乎 网站建设,网站开发具体问题,中山seo技术,wordpress迁hexo今天开始java编程思想的导读#xff0c;希望自己能更好的理解程序。全书1461页#xff0c;恐怖#xff0c;尽量一天看十页八。
OOP 面向对象程序设计
记录一点东西八
第一个小课程#xff0c;抽象过程
看看概念
1万物皆为对象
2程序是对象的集合#xff0c;他们通过…今天开始java编程思想的导读希望自己能更好的理解程序。全书1461页恐怖尽量一天看十页八。
OOP 面向对象程序设计
记录一点东西八
第一个小课程抽象过程
看看概念
1万物皆为对象
2程序是对象的集合他们通过发送信息告知彼此所要做的
3每个对象都有自己的由其他对象构成的存储
4每个对象都拥有此类型
5某一特定类型的对象可以接受同样的消息
话不多说我们写一个简单的小例子八打开我的eclipse程序我们讲讲抽象类八
可能也是抽象的一个代表了
一、概述
当父类知道子类应该包含什么样的方法但无法确定子类如何实现这些方法在分析事物时会发现事物的共性将共性抽取出实现的时候就会有这样的情况方法功能声明相同但方法功能主体不同这时将方法声明抽取出那么此方法就是一个抽象方法。
1、抽象的定义格式 抽象方法的定义格式public abstract 返回值类型 方法名参数 抽象类的定义格式abstract class 类名{}
2、抽象的特点 抽象类和抽象方法都需要被 abstract 修饰抽象方法一定要定义在抽象类中 抽象不能直接创建对象因为调用抽象方法没有意义 只有覆盖了抽象类中所有的抽象方法后其子类才可以创建对象否则该子类还是一个抽象类 之所以继承抽象类更多的是在思想是面对共性类型操作会更简单
3、抽象类的注意事项 抽象类一定是个父类因为是不断抽取而来的 抽象类中可以不定义抽象方法其存在的意义就是不让该类创建对象方法可以直接让子类去使用 抽象关键字 abstract 不可以和以下关键字共存 private私有的方法子类是无法继承到的也不存在覆盖如果 abstract 和 private 一起使用修饰方法 abstract 既要子类去实现这个方法而 private 修饰子类根本无法得到父类这个方法互相矛盾 finalfinal 修饰的类不能被继承而抽象类一定是父类 staticstatic 修饰的表示静态的不能被修改的但可以直接被类所调用而abstract修饰的是抽象的即没有方法实体也不能直接被调用 首先我们定义一个Animal的抽象类
package geyao01;public abstract class Animal {public abstract void run() ;//定义一个奔跑的方法
}定义一个猪类继承这个方法
package geyao01;public class Pig extends Animal{public void run() {System.out.println(我可以奔跑);}
}定义一个猪的测试类
package geyao01;public class PigTest {public static void main(String[] args) {//创建一个小猪的对象Pig pignew Pig();//执行小猪的方法pig.run();}
}运行结果
我可以奔跑实例解析
将共性“动物”抽取出来形成一个Develop类并定义方法猪抽象类不能实例化即不能 new 抽象方法没有主体可以定义类来继承抽象类将抽象类进行重写然后创建子类的对象重写父类的抽象方法时去掉abstract关键字加上方法主体