黑马程序员——Java基础--形式参数

------------android培训java培训、java学习型技术博客、期待与您交流!------------

第一讲 形式参数

一、概述

说到形式参数问题,可能很多童鞋觉得没有必要写,我写这个的目的有俩点,一呢自己总结下,以后还可以来看看自己的总结的,而呢为一些还在懵懂中的童鞋顺便提供一些方便。

我这里所说到的形式参数问题以后也会经常遇到,我分别拿普通的class类、抽象类、接口类作为形式参数来举例,说实话,第一次的听的时候的确有些绕,我都整理了好几遍,好了,废话不多说了,直接看例子

二、应用举例

1、当类作为参数传递的时候,其实它想要的是一个对象,来提供一种方法。

/*
步骤:
	1.定义动物类 
	2.想要动物,就是人提供一种方式去给动物喂吃的 
*/
public class PersonTest {
	public static void main(String[] args) {
		Person person = new Person();//创建人的对象
		Animal animal = new Animal();//创建动物的对象
		person.method(animal);//人提供一种方式去给动物喂吃的
	}
}
//动物类
 class Animal{
	public void eat(){
		System.out.println("吃东西.......");
	}
}
//人类
 class Person{
	public void method(Animal animal){参数是一个类名,其实它要的是一个对象 
		animal.eat();
	}
}

结果为:

2、参数是一个抽象类名,但是抽象类不能new,只能new它的子类,其实它要的是一个子类对象。

/*
步骤:
	1.定义动物类 
	2.想要动物,就是人提供一种方式去给动物喂吃的 
*/
public class PersonTest1 {
	public static void main(String[] args) {
		Person p = new Person();//创建人的对象
		Animal a = new Cat();//创建猫的对象
		p.method(a);//人提供一种方式去给动物喂吃的
	}
}
//动物类
 abstract class Animal{
	public abstract void eat();
}
class Cat extends Animal{
	public void eat(){
		System.out.println("吃鱼.......");
	}
}
//人类
 class Person{
	public void method(Animal c){//参数是一个抽象类名,但是抽象类不能new,只能new它的子类,其实它要的是一个子类对象 
		c.eat();
	}
}

结果为:

3、参数是一个接口名,但是接口不能new,只能new它的实现类,其实它要的是实现类的对象。

/*
步骤:
	1.定义动物类 
	2.想要动物,就是人提供一种方式去给动物喂吃的 
*/
public class PersonTest2 {
	public static void main(String[] args) {
		Person p = new Person();//创建人的对象
		ShuShu s = new Cat();//创建猫的对象
		p.method(s);//人提供一种方式去给动物喂吃的
	}
}
//接口
interface ShuShu{
	public abstract void shushu();
}
// 子类
class Cat implements ShuShu{
	public void shushu(){
		System.out.println("数小星星.......");
	}
}
//人类
 class Person{
	public void method(ShuShu s){//参数是一个接口名,但是接口不能new,只能new它的实现类,其实它要的是实现类的对象
		s.shushu();
	}
}

结果为:

 



-----------android培训java培训、java学习型技术博客、期待与您交流!------------


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值