文章分类 - Java
摘要:内部类概述 程序示例 /* 内部类: 把类定义在其他类的内部,我们称之为内部类 内部类有哪些特点 1、内部类可以访问外部类的成员,包括私有的 2、外部类要想访问内部类的成员,就必须要创建内部类的对象 */ class Outer{ private int num = 10; //把类定义在其他类的内
阅读全文
摘要:包与权限修饰符 包 程序示例 /* 包的概述 其实就是文件夹 作用: 对类进行分类管理 包的定义及注意事项 定义包的格式 package 包名; 多级包用.分开即可 注意事项: package语句必须是程序的第一条可执行的代码 package语句在一个java文件中只能有一个 如果没有package
阅读全文
摘要:形式参数和返回值问题案例 形式参数的问题案例 程序示例 /* 形式参数: 基本数据类型(以前说过,这里不说了):byte、short、int、long、float、double、char、boolean 引用数据类型: 类:当类作为方法的形式参数的时候,实际上需要的是该类的对象的地址值 抽象类:当抽
阅读全文
摘要:接口的例题 /* 猫狗案例,加入额外的跳高功能 分析: 猫:姓名,年龄,吃饭,睡觉 狗:姓名,年龄,吃饭,睡觉 由于猫和狗存在共性,所以我们提取出来到一个抽象类中 动物: 姓名,年龄,吃饭(),睡觉() 猫:继承自动物 狗:继承自动物 由于跳高是一个额外的功能,不是动物特有的,所以我们利用接口的方式
阅读全文
摘要:类与类,类与接口以及接口与接口的关系 程序引例 /* 类与类,类与接口,接口与接口之间的关系 类与类: 继承关系,只能进行单继承,不可以进行多继承,但是可以多层继承 类与接口: 实现关系,可以是单实现,也可以一次实现多个接口,也可以在继承一个类的同时实现多个接口。 接口与接口之间的关系: 继承关系,
阅读全文
摘要:接口的成员特点 程序引例 /* 接口成员的特点: 成员变量: 只能是常量,并且是静态的 它里面给成员变量的默认修饰符是public static final 建议:手动全部补齐 构造方法: 接口中没有构造方法 成员方法: 接口中的成员方法只能是抽象方法,没有方法体,连大括号都没有 它会自动补充修饰符
阅读全文
摘要:接口的概述 程序引例 /* 接口的概述: 1、接口使用关键字:interface表示 定义格式:interface 接口名{} 2、类实现接口用 定义格式:class 类名 implements 接口名{} 3、接口不能实例化 那么如何表示接口的实现呢? 使用多态的方式实现,有具体的子类进行实例化,
阅读全文
摘要:abstract关键不能和哪些关键字共存? /* 一个类如果没有抽象方法,可不可以定义为抽象类? 可以 如果可以,有什么意义? 橙汁,水,牛奶等这些东西用共同的特点,我们把这些相同的特点概念归结成一个类 假设叫做液体。 至于后面有没有抽象方法,取决于这些东西有没有相同的行为。如果说有着相同的本质,但
阅读全文
摘要:抽象类的练习 /* 猫狗案例 具体事物:猫,狗 共性:姓名,年龄,吃饭 分析:从具体分析到抽象的过程 猫:Cat 成员变量:姓名,年龄 构造方法:无参构造,有参构造 成员方法:吃饭(猫吃鱼) 狗:Dog 成员变量:姓名,年龄 构造方法:无参构造,有参构造 成员方法:吃饭(狗吃肉) 通过分析我们发现,
阅读全文
摘要:抽象类的成员特点 /* 抽象类的成员特点 成员变量 可以是变量,也可以是常量 构造方法 有构造方法,但是我们上一个程序中总结出抽象类不能实例化,那构造的意义是 什么呢?要想初始化子类,就必须先初始化父类,在继承的关系中有用 成员方法(上一个程序中写了) 可以有抽象方法 限定子类必须完成某些动作 也可
阅读全文
摘要:抽象类的概述和特点 /* 抽象的表述: 我们之前所说的猫,狗,猪,羊驼,熊猫等等都是动物的具体的例子,而动物本身是一个抽象的 概念,而我们之前是将动物写成了一个类,而类又可以创建对象,但是呢,实际上抽象的东西本身应该不能 实例化,并且动物这个概念中吃的方法,以及动物共有的方法本身也是一个不具体的方法
阅读全文
摘要:多态的习题 /* 多态的练习: 猫狗案例 */ class Animal2{ public void eat(){ System.out.println("吃饭"); } } class Dog2 extends Animal2{ @Override public void eat() { Syst
阅读全文
摘要:多态中的类型转换异常图解 程序示例 class Animal{ public void eat(){ System.out.println("吃饭"); } } class Dog extends Animal{ public void eat(){ System.out.println("狗吃肉"
阅读全文
摘要:对多态向下转型的理解: 伪代码举例 存在多态的前提:(缺一不可) 1、要有继承关系 2、要有方法重写 3、要有父类的引用指向子类对象 class 曹操{ int age = 50; public void fight(){ System.out.println("赤壁之战") } } class 曹
阅读全文
摘要:多态中的转型问题 程序示例 /* 多态的弊端: 多态无法使用子类特有的方法 我就想使用子类特有的功能,能否使用? 答案是能 那怎么使用呢? 1、创建对应的子类对象并调用方法 可以,但是不推荐,很多时候会占用栈内存和堆内存的空间 2、java替我们考虑到了这一点,提供了一个技术给我们使用:向下转型 把
阅读全文
摘要:多态的弊端 程序示例 /* 多态的前提: 1、要有继承的关系 2、子类要重写父类中的方法(可以不重写,但是没有意义) 3、要有父类的引用指向子类对象 多态的弊端: 多态无法使用子类特有的方法 */ class Father1{ public void fun(){ System.out.printl
阅读全文
摘要:继承中的static 程序示例 /* 子类中什么都没有定义,为什么可以继承父类中的静态成员?? 因为父类中的静态成员可以看作是一个全局共享的。 */ class A{ //父类中的静态成员可以看作是一个全局共享的 //定义一个父类的静态成员变量 public static int a = 10; /
阅读全文
摘要:多态的好处 代码扩展性很好(由继承所带来的好处) 代码的维护性很好(由多态所带来的好处) 例题多态练习 class Animal2{ String name; int age; Animal2(){ } Animal2(String name,int age){ this.name = name;
阅读全文
摘要:多态访问成员的特点 程序示例 /* 多态访问成员的特点: 1、成员变量 编译看左边,运行也看左边。 编译看左边:指的是看父类中有没有该成员,如果有说明编译不报错,可以进行访问 运行看左边:指的是编译不报错的前提下,去访问父类中的成员。 2、构造方法 创建子类对象的时候,初始化子类先调用子类的构造方法
阅读全文
摘要:多态的概述 程序引例 /* 多态概述: 某一个事物,在不同时刻表现出来的不同状态。 举例: 水(气态,液态,固态) 多态的前提:(同时满足) 1、要有继承关系 2、要有方法重写 你可以不去重写,但是呢,如果不重写,从常理来说,就无法体现子类的特性 3、要有父类引用指向子类对象 父 fu = new
阅读全文

浙公网安备 33010602011771号