黑马程序员_毕向东_Java基础视频教程学习笔记(十九)
来源:互联网 发布:傲剑飞龙升级数据大全 编辑:程序博客网 时间:2024/05/01 15:39
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
package day04;/* * finao:最终。作为一个修饰符 * 1.可以修饰类,函数,变量 * 2.被final修饰的类不可以被继承,为了避免被继承,被子类复写功能 * 3.被final修饰的方法不可以被复写 * 4.被final修饰的变量时一个常量,只能被赋值一次,既可以修饰成员变量,又可以修饰局部变量 * 当在描述事物时,一些数据的出现值时固定的,这时为了增强阅读性,给这些值起个名字,方便与阅读 * 而这个值不需要改变,所以加上final修饰,作为常量:常量的书写规范是:所有字母都大写 * 如果由多个单词组成,单词间通过下划线连接 * 5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。 */final class Demo {int x=4;public static final double PI=3.14;final void show1() { //show()1方法补课以被复写}void show2() {System.out.println(PI);}}/* * A类不可以继承Demo类 *///class A extends Demo {////}public class FinalDemo {public static void main(String[] args) {//Demo d=new Demo();//d.show2();System.out.println(Demo.PI);}}
package day04;/* * 当多个类中出现了相同的功能,但是功能的主体不同 * 这时可以进行向上抽取,这时,只抽取功能的定义,而不抽取功能的主体 * * 抽象;看不懂 * * 抽象类的特点: * 1、抽象方法一定在抽象类中 * 2、抽象方法和抽象类都必须被abstract关键字修饰 * 3、抽象类不可以用new创建对象,因为调用抽象方法没意义 * 4、抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用 * 如果子类只覆盖了父类部分抽象方法,那么该子类还是一个抽象类 * * 抽象类和一般类没有太大的不同 * 该如何描述事物就如何描述事物,只不过该事物中出现了一些看不懂的东西 * 这些不确定的东西也是该事物的功能,需要明确出来,但是无法定义主体。 * 通过抽象方法来表示。 * * 抽象比一般类多了抽象方法,就是在类中定义抽象方法。 * 抽象类不可以实例化。 * * 特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象 * * */abstract class Student01{//void study(){//System.out.println("all study*.*.*.*.*.*.*");//}abstract void study();void sleep(){System.out.println("一般的成员方法");}}class ChongCi extends Student01{void study(){System.out.println("ChongCi study......");}}class BaseStudent extends Student01{void study(){System.out.println("Base study......");}}class AdvStudent extends Student01{void study(){System.out.println("Adv study*******");}}public class AbstractDemo {public static void main(String [] args){BaseStudent bs=new BaseStudent();bs.study();new AdvStudent().study();//匿名对象}}
package day04;/* * 假如我们再开发一个系统时对员工进行建模,员工包含3个属性 * 姓名,工号,以及工资。经理也是员工,除了含有员工的属性外,另外还有一个奖金属性 * 。请使用继承的思想设计出员工类和经理类,要求类中提供必要的方法进行属性的访问 * * * 员工类:name id pay * 经理类:继承了员工 并有自己特有的bonus * */abstract class Employee{private String name;private String id;private double pay;Employee(String name,String id,double pay){this.name=name;this.id=id;this.pay=pay;}public abstract void work();}class Manager extends Employee{private int bonus;Manager(String name,String id,double pay,int bonus){super(name,id,pay);this.bonus=bonus;}public void work(){System.out.println("Manager work......");}}class Pro extends Employee{Pro(String name,String id,double pay){super(name,id,pay);}public void work(){System.out.println("Pro work......");}}public class AbstractDemo1 {public static void main(String [] args){new Manager("a","d",2.0,5).work();new Pro("a","d",2.0).work();}}
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十九)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(三)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(四)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(五)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(六)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(七)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(八)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十一)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十二)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十三)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十四)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十五)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十七)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十八)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二十)
- 黑马程序员_毕向东_Java基础视频教程学习笔记(二十一)
- inline函数_内联函数的一些总结
- 安全测试工具
- (总结)CentOS Linux搭建SVN Server配置详解
- VNC“No configured security type is supported by 3.3 viewer“的解决办法!
- Javascript异步编程
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十九)
- Analyzing Display and Performance with Systrace
- 日历操作
- asp.net实现 EXCEL数据导入到数据库功能
- 多字节MFC工程下char*转CString乱码的研究
- iOS 中的Url 编码
- Fragment 多tab切换,顶部tab,顶部tab+viewpager
- #define总结 (网上资料汇集)
- APK手动签名 总结