------- android培训、java培训、期待与您交流! ---------- 继承: 子类继承父类就默认继承了父类的全部成员变量 JAVA语言具有继承的单一性 super: 子类的构造方法中一定会调用父类的某个构造方法。这时可以用子类的构造方法中通过super指定调用父类的哪个构造方法,如果没有指定,在实例化子类对象时,会自动调用父类无参的构造方法 class Animal { //无参的构造方法 Animal(){ System.out.println("我是一只单身狗"); }; //有参的构造方法 Animal(String name){ System.out.println("我是一只"+name); }: } class Dog extends Animal{ Dog(){}; } class test { public void static void main(String[] args){ Dog dog = new Dog(); } } 在控制台会得到的是: 我是一只单身狗 final关键字: (1)final修饰的类不能被继承 (2)final修饰的方法不能被子类重写 (3)final修饰的变量是常量 abstract关键字: 不包含方法体的方法叫抽象方法,含抽象方法的类都是抽象类,但抽象类可以不包含任何抽象方法 特点: 抽象类不能实例化,如果想调用抽象类中的方法,需在子类中将抽象类中的抽象方法进行实现。 (即子类实现了抽象方法,即有了方法体之后就可以进行实例化了) Example10.java abstract class Animal { abstract void shout(); } class Dog extends Animal { void shout(){ System.out.println("wangwang.."); } } class Test { public void static main(String[] args){ Dog dog = new Dog(); dog.shout(); } 接口: 如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另外一种方式来定义,即接口 接口中定义的方法默认使用:public abstract来修饰,即抽象方法 Example11.java interface Animal { void breathe(); void run(); } class Dog implements Animal{ void breath(){ System.out.println("呼吸"); } void run(){ System.out.println("奔跑"); } } class test { public void static main(String[] args){ Dog dog = new Dog(); dog.breath(); dog.run(); } } 还可以定义一个接口使用extents关键字去继承另一个接口 多态: 定义:在同一个方法中,这种由于参数类型不同而导致执行效果各异的现象就是多态 一个多态的典型例子: interface Animal{ void shout(); } class Dog { void shout(){ System.out.println("汪汪"); } } class Cat { void shout(){ System.out.println("喵喵"); } } class Test{ public void static main(string[] args){ Animal an1 = new Dog(); Animal an2 = new Cat(); animalShout(an1); animalShout(an2); } public void animalShout(Animal an){ an.shout(); } } 匿名内部类是实现接口的一种简便写法 实现上面的效果,用匿名内部类有两种写法: 异常: Throwable:Error+Exception Error:错误类,无法通过修改代码来解决问题 Exception:异常类,程序本身可以处理的错误,它有一个特殊的子类RuntimeException类,该类及其子类表示运行时异常,除此类外,其他所有子类都用于表示编译异常 throwable这个大类有三个统一的方法: String getMessage() void printStackTrace() 将此throwable及其追踪输出至标准错物流 void printStackTrace(PrintStream s ) ....指定的输出流 try catch 和 finally throw关键字 其相互关系是: throws丢出(记录)问题,然后被try。。catch捕获处理 包: 编译的时候可以指定储存位置 javac -d D:\BaiduYunGuanjia helloWorld.java import 包名.* 导入该包下所有的类 压缩java文件变为jar包 命令行: jar -cvf helloworld.jar cn 解压缩: jar -xvf helloworld.jar 访问控制: private:类访问级别 default:包访问级别 protected:子类访问级别(包类以及其他包里的子类可以访问) public:公关访问级别 面向对象(下)over |
[黑马程序员](第6-9天)面向对象(下)
最新推荐文章于 2023-02-25 23:21:38 发布