随笔分类 - java / 面向对象 / 多态
摘要:instanceof 是一个二元操作符,用于判断左边的对象是否是右边类或接口的一个实例。如果左边的对象是右边类或接口的实例,或者右边是左边对象的某个父类(包括接口的实现)的实例,则表达式的结果为 true;否则为 false。 这个操作符在Java中非常有用,尤其是在处理多态和类型转换时。它允许你在
阅读全文
摘要:package com.shujia.day10.bao8; //要求在控制台输出”HelloWorld” interface Inter { void show(); } //class InterImpl implements Inter{ // @Override // public void
阅读全文
摘要:/* 接口类型的方法调用,使用匿名内部类 匿名内部类: 语法定义格式: new 抽象类/接口(){ //要重写的方法 } */ interface Inter1{ void fun1(); } //class Inter1Impl implements Inter1{ // @Override //
阅读全文
摘要:/* 匿名内部类: 语法定义格式: new 抽象类/接口(){ //要重写的方法 } */ abstract class Demo1{ public abstract void fun1(); // public abstract void fun2(); } //class XXX extends
阅读全文
摘要:class Outer4 { //成员方法 public void fun1() { //局部变量 int a = 10; // 如果局部内部类中要使用方法中的局部变量的话,这个变量会被使用final关键字进行修饰 //局部内部类 class Inner { int b = 20; public v
阅读全文
摘要:/* 内部类常用的修饰符: static 被静态的修饰可以直接通过类名.创建对象 new Outer2.Inner1() private 私有的需要在创建个方法来访问 */ //class Outer2{ // static int a1 = 10; // private static int a2
阅读全文
摘要:/* 内部类:将一个类A定义在一个类B中,这个类A称之为内部类 分类: 成员内部类:将类定义在一个类中的成员位置上 局部内部类:将类定义在一个方法中 */ class Outer1{ int a1 = 10; private int a2 = 11; public static int a3 = 1
阅读全文
摘要:package com.shujia.day10.bao5; /* 权限修饰符: public protected 默认的 private 同一类中 √ √ √ √ 同一包子类,其他类 √ √ √ 不同包子类 √ √ 不同包其他类 √ 常用的修饰符: 权限修饰符:public,protected,默
阅读全文
摘要:/* 返回值类型 基本类型: 引用类型: 类:当你看到一个类作为方法的返回值类型的时候,将来方法内部应该返回该类或该类的子类对象 抽象类:当你看到一个抽象类作为方法的返回值类型的时候,将来方法内部应该返回继承该抽象类的具体子类对象 接口:当你看到一个接口作为方法的返回值类型的时候,将来方法内部应该返
阅读全文
摘要:/* 形式参数 基本类型: 引用类型: 类:当你看到一个类作为方法参数类型的时候,将来调用时需要传递该类及其该类的子类对象 抽象类:当你看到一个抽象类作为方法的参数类型的时候,将来调用时需要传递继承该抽象类的具体子类对象 接口:当你看到一个接口作为方法参数类型的时候,将来调用时需要传递实现该接口的具
阅读全文
摘要:/* java提供了一个关键字:interface,用来定义一个接口 接口的主要作用是用来描述类的额外功能的。 定义一个接口的语句定义格式: interface 接口名{ } 需求:定义一个普通的狗类,和一个会骑车的狗类 使用接口的注意事项: 1、接口中只能出现抽象方法,不能写具体的方法 2、一个具
阅读全文
摘要:多态程序中,第一大前提要有继承关系。 但是呢,比如上午写的动物案例,我们将狗,猫,猪这些具体的动物分别编写了一个类进行对应这都是没问题的。 但是呢,动物本身应该是一个抽象的概念,我们在现实生活中其实是找到不到Animal的实例的。 具体的事物,我们就可以使用java代码将其定义成一个class类,然
阅读全文
摘要:向上转型(Upcasting)是指将子类的引用赋值给父类类型的引用。换句话说,就是用父类类型的变量来引用子类对象。这种转换是自动的,不需要进行强制类型转换。 语句定义格式: 父类类型 引用名 = new 子类类型(); 多态访问成员方法的弊端: 多态的形式下,无法调用子类中特有的方法。 解决方案:向
阅读全文
摘要:package com.shujia.day09; import java.nio.channels.Pipe; /* 多态的好处 1、提高了程序的维护性(由继承保证) 2、提高了程序的扩展性(由多态保证) */ class Animal{ String name; int age; public
阅读全文
摘要:多态:某一个事物在不同状态下的多种状态 举例: 1、学生是人,老师是人,医生是人。 2、汽态的水是水,固态的水是水,液态的水是水 在java中要实现多态的话,需要有3个前提: 1、必须要有继承关系 2、要有方法的重写(思考可否不重写?) 不是必须要重写的,重写可以体现子类的专属特征。 3、要有父类的
阅读全文