java9-2形式参数

1、形式参数:
    基本类型(太简单)
    引用类型
    类名:(匿名对象的时候其实我们已经讲过了)需要的是该类的对象
    抽象类:需要的是该抽象的类子类对象
    接口:需要的是该接口的实现类对象

A、 类名:(匿名对象的时候其实我们已经讲过了)需要的是该类的对象 (这个例子就是这个)

 1 class student{
 2 public void study(){
 3 System.out.println("===学习===");
 4 }
 5 }
 6
 7 class teacher{
 8 public void method(student s)//这里引用了一个类,它所需要的是这个类的对象
 9 {
10 System.out.println("---教导---");
11 }
12 }
13
14 class StudentTest1 {
15 public static void main(String[] args) {
16 //调用student类中的study方法
17 student t = new student();
18 t.study();
19 System.out.println("----------");
20 //调用teacher类的method方法
21 teacher tc = new teacher();
22 //teacher类的method方法 引用了一个类,它所需要的是这个类的对象
23 student t1 = new student();
24 tc.method(t1);//它所需要的是这个类的对象
25 System.out.println("----------");
26 //匿名对象的用法调用teacher类的method方法
27 new teacher().method(new student());
28 }
29
30 }

B、 抽象类:需要的是该抽象的类子类对象

 1 abstract class Person {
 2 public abstract void study();
 3 }
 4
 5 class PersonDemo {
 6 public void method(Person p) {//p; p = new Student(); Person p = new Student(); //多态
 7 p.study();
 8 }
 9 }
10
11 //定义一个具体的学生类
12 class Student extends Person {
13 public void study() {
14 System.out.println("Good Good Study,Day Day Up");
15 }
16 }
17
18 class PersonTest {
19 public static void main(String[] args) {
20 //目前是没有办法的使用的
21 //因为抽象类没有对应的具体类
22 //那么,我们就应该先定义一个具体类
23 //需求:我要使用PersonDemo类中的method()方法
24 PersonDemo pd = new PersonDemo();
25 Person p = new Student();
26 pd.method(p);
27 }
28 }

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

 1 //定义一个爱好的接口
 2 interface Love {
 3 public abstract void love();
 4 }
 5
 6 class LoveDemo {
 7 public void method(Love l) { //l; l = new Teacher(); Love l = new Teacher(); 多态
 8 l.love();
 9 }
10 }
11
12 //定义具体类实现接口
13 class Teacher implements Love {
14 public void love() {
15 System.out.println("老师爱学生,爱Java,爱林青霞");
16 }
17 }
18
19 class TeacherTest {
20 public static void main(String[] args) {
21 //需求:我要测试LoveDemo类中的love()方法
22 LoveDemo ld = new LoveDemo();
23 Love l = new Teacher();
24 ld.method(l);
25 }
26 }
时间: 2024-08-28 01:17:36

java9-2形式参数的相关文章

java9

1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使用. (2)StringBuffer的构造方法 A:StringBuffer() B:StringBuffer(int size) C:StringBuffer(String str) (3)StringBuffer的常见功能(自己补齐方法的声明和方法的解释) A:添加功能 B:删除功能 C:替换功

学习AS3菜鸟起飞吧之—函数(四):形式参数和实际参数

函数的参数是外界与函数内部通信的方法,对于有参函数来说,函数调用时函数有数据传递的关系. 看代码: //调用函数max(5,7);//定义函数function max(x:int,y:int):int{     if(x > y)     {           x = x;      } else {              x = y;      }      return x;} 如果一个函数有返回值,可使用 return语句,并在定义函数时声明返回值的类型. 上面的代码在函数调用过程中

当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?

方法一: 定义一个类实现接口,创建该类,将该类对应的对象当做形式参数 代码如下: 1 interface Animal 2 { 3 public abstract void eat (); 4 } 5 class Dog implements Animal 6 { 7 public void eat() 8 { 9 System.out.println("eat dog"); 10 } 11 12 } 13 class Text 14 { 15 //一个类的成员方法接收的形式参数是接口

初学Java9:学习Mybatis时报错:Parameter 'name' not found. Available parameters are [1, 0, param1, param2]

报错-->Parameter 'name' not found. Available parameters are [1, 0, param1, param2] 百度找到这篇文章完成修改 http://blog.csdn.net/w86440044/article/details/29363067 我之前写的操作类是和博主一样,是这样的: 1 // 登录·查询 2 @Select("select * from t_users where uname=#{name} and pswd=#{p

即将改变软件开发的5个Java9新特性

预计发布的Java 9中,最令人兴奋的特性是什么? 有关Java9的消息最近显得有些沉寂,不要被它迷惑了.JDK开发者正在努力朝着下一个版本迈进,计划2015年12月前完成所有功能开发.之后,它会经历严格测试和bug修复以准备它的全面上市,按计划会在2016年9月发布. 今天我们已经对Java 9中所期待的特性有了一个很清晰的图景.如果Java 8可以被描述为主要是lambdas表达式.streams和API变化的话,那么Java 9就是关于Jigsaw.额外的实用工具和内部的变化.在这篇文章中

理解Javascript_14_函数形式参数与arguments 【转】

在'执行模型详解'的'函数执行环境'一节中对arguments有了些许的了解,那么让我们深入的分析一下函数的形式参数与arguments的关系. 注:在阅读本博文前请先阅读<理解javascript_13_执行模型详解> 注:本文的部分内容是自已的一些推论,并无官文文档作依据,如有错误之后,还望指正. 生涩的代码 我们先来看一段比较生涩的代码: 1 2 3 4 5 6 7 8 9 10 11 function say(msg,other,garbage){     alert(argument

学习心得(1) 形式参数为类名+变量,数组容器,流的见解

学习java有一月半,对于之前我一直不能理解的形式参数是类名+变量名,现在我有了自己的一种理解方式.就是如果你想要使用一个类的成员变量和成员方法,就可以传这个类的对象进去.到时,只要对象名(变量).某个成员变量,或者.方法就可以使用了.到时调用这个方法,只要new一个对象作为形式参数传进去就可以了. 对于那个ArrayList容器,我当时也是一只半解.其实很好理解,它是容器,使用它第一步要先创建一个容器,ArrayList arraylist = new Arraylist();这里其实可以使用

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

/* 形式参数: 引用类型 接口:需要的是该接口的实现类对象 这个时候就没什么了,和抽象类的解释差不多. */ interface Love { public abstract void love(); } class LoveDemo { public void method(Love l) { l.love();//如果看到一个方法内的引用类型是接口类型,这里传递的应该是该接口的实现类类对象. } } //定义具体类实现接口,该接口的实现类 class Teacher implements

Java9: REPL环境与编程

副标题: Java 9开始提供 REPL环境 -- JShell 有可能会改变程序员Java的使用和学习方式 译者注: 推荐一个在线的REPL演示环境: Java WEB控制台 http://www.javarepl.com/console.html 你可以在里面试着执行一些简单的Java代码,比如: System.out.println("See See REPL") System.getProperty("user.name") 2 + 2 * 5 有个段子说: