《java入门第一季》之面向对象(形式参数和返回值问题的深入研究3)

/*

形式参数:

引用类型

接口:需要的是该接口的实现类对象

这个时候就没什么了,和抽象类的解释差不多。

*/

interface Love {
	public abstract void love();
}

class LoveDemo {
	public void method(Love l) {
		l.love();//如果看到一个方法内的引用类型是接口类型,这里传递的应该是该接口的实现类类对象。
	}
}

//定义具体类实现接口,该接口的实现类
class Teacher implements Love {
	public void love() {
		System.out.println("形式参数是接口类型");
	}
}

class TeacherTest {
	public static void main(String[] args) {
		//需求:测试LoveDemo类中的love()方法
		LoveDemo ld = new LoveDemo();
		Love l = new Teacher();//属于多态
		ld.method(l);
		Teacher t = new Teacher();
		ld.method(t);
	}
}
/*
	返回值类型
		引用类型:
			接口:返回的是该接口的实现类的对象
*/
//定义一个爱好的接口
interface Love {
	public abstract void love();
}

class LoveDemo {
	public Love getLove() {

		return new Teacher();//匿名对象
	}
}

//定义具体类实现接口
class Teacher implements Love {
	public void love() {
		System.out.println("返回值类型是接口类型");
	}
}

class TeacherTest2 {
	public static void main(String[] args) {
		LoveDemo ld = new LoveDemo();
		Love l = ld.getLove(); //属于多态方式
		l.love();//可调用了
	}
}
时间: 2024-10-26 18:03:41

《java入门第一季》之面向对象(形式参数和返回值问题的深入研究3)的相关文章

Java入门第一季——从此投身Java??

找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简介 1.1 Java SE--基础核心: 以此为基础,又分为Java EE(企业应用开发,JSP等),Java ME(嵌入式开发,安卓等): JVM(Java Virtual Machine): Java虚拟机,使Java代码可以跨平台运行: .java-->编译器-->.class-->解

10-02 Java 形式参数和返回值的问题深入研究,链式编程

形式参数和返回值的问题: 1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类对象 接口名:返回的是该接口的实现类的对象 (3)链式编程 对象.方法1().方法2().......方法n(); 这种用法:其实在方法1()调用完毕后,应该一个对象: 方法2()调用完毕后,应该返回一个对象. 方法n()调用完毕后,可能是对象,也可以不是对象.

《java入门第一季》之面向对象(谈谈接口)

软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的学习: /* 接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类(实现)接口用implements(执行,实现)表示 class 类名 implements 接口名 {} C:接口不能实例化,就是说不能凭空的创建对象 那么,接口如何实例化呢? 按照多态的方

Java入门第一季

慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Arrays操作数组.foreach循环遍历数组 6.方法的定义,重载调用 跟着慕课网的教程,去一步一步补充完成小练习中的代码,学习效率会比较高~

《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)

根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: * A:定义一个字符串 * B:把字符串转换为字符数组 * C:把字符数组进行排序 * D:把排序后的字符数组转成字符串 * E:输出最后的字符串 */ public class ArrayTest { public static void main(String[] args) { // 定义一个字符串 S

java入门第一季_1.6_数组

既然选择了远方,便只顾风雨兼程. 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. public class Demo1 { public static void main(String[] args) { // 定义一个数组,保存五名学生的成绩 int[] scores = { 78, 93, 97, 84, 63 }; // 输出数组中的第二个成绩 System.out.println

慕课网-Java入门第一季-7-4 编程练习

来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. 要求通过定义无参带返回值的方法来实现,返回值为最大年龄 2. 方法中将?学生年龄保存在数组 ages 中,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17 运行效果: 任务 一. 定义一个无参带返回值的方法,实现输出学生年龄的最大值 提示: 1. 定义一个整形数组 ages ,保

Java入门 第一季第二章 变量和常量

这是我学习慕课网Java课程的笔记,原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的关键字 PS:Java关键字区分大小写 2-2 认识Java标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 使用标识符时,需要遵守几条规则: ①标识符可以由字母.数字.下划线( _ ).美元符( $ )组成,但不能包含@.%.空格等其他特殊字符,不能以数字开头. ②标识符不能是Java关键字和保留字(Java预留的关键字,以后升级版本中有可能作

慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ” 注意哦: 1. 方法体放在一对大括号中,实现特定的操作 2. 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式 第二步,调用方法 当需