关于JAVA中形参的详解

在JAVA中形式参数主要有基本类型,类名,抽象类名,接口名。下面我们来各自讲述。

1.基本类型 这个太简单不做简述。

2.类名

  类名:需要该类的对象

 1 class Student {
 2     public void study() {
 3         System.out.println("Good Good Study,Day Day Up");
 4     }
 5 }
 6
 7 class StudentDemo {
 8     public void method(Student s) { //ss; ss = new Student();  Student s = new Student();
 9         s.study();
10     }
11 }
12
13 class StudentTest {
14     public static void main(String[] args) {
15         //需求:我要测试Student类的study()方法
16         Student s = new Student();
17         s.study();
18         System.out.println("----------------");
19
20         //需求2:我要测试StudentDemo类中的method()方法
21         StudentDemo sd = new StudentDemo();
22         Student ss = new Student();
23         sd.method(ss);
24         System.out.println("----------------");
25
26         //匿名对象用法
27         new StudentDemo().method(new Student());
28     }
29 }

  3.抽象类名:需要该类的子类对象

abstract class Person {
    public abstract void study();
}

class PersonDemo {
    public void method(Person p) {//p; p = new Student();  Person p = new Student(); //多态
        p.study();
    }
}

//定义一个具体的学生类
class Student extends Person {
    public void study() {
        System.out.println("Good Good Study,Day Day Up");
    }
}

class PersonTest {
    public static void main(String[] args) {
        //目前是没有办法的使用的
        //因为抽象类没有对应的具体类
        //那么,我们就应该先定义一个具体类
        //需求:我要使用PersonDemo类中的method()方法
        PersonDemo pd = new PersonDemo();
        Person p = new Student();
        pd.method(p);
    }
}

4.接口名:需要该接口的实现类对象

和抽象类名很相似

 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-10-07 16:27:43

关于JAVA中形参的详解的相关文章

java中static作用详解

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类

Java中的HashTable详解

Hashtables提供了一个很有用的方法可以使应用程序的性能达到最佳. Hashtables(哈 希表)在计算机领域中已不 是一个新概念了.它们是用来加快计算机的处理速度的,用当今的标准来处理,速度非常慢,而它们可以让你在查询许多数据条目时,很快地找到一个特殊的条目. 尽管现代的机器速度已快了几千倍,但是为了得到应用程序的最佳性能,hashtables仍然是个很有用的方法. 设想一下,你有一个 包含约一千条记录的数据文件??比如一个小企业的客户记录还有一个程序,它把记录读到内存中进行处理.每个

Java中的final详解以及用途实战

浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3736238.html 一

Java中反射机制详解

序言 在学习java基础时,由于学的不扎实,讲的实用性不强,就觉得没用,很多重要的知识就那样一笔带过了,像这个马上要讲的反射机制一样,当时学的时候就忽略了,到后来学习的知识中,很多东西动不动就用反射,所以回过头来把这个给重新补一下,自己欠下的债,迟早是要还的. ---WH 一.什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的

Java 中的泛型详解-Java编程思想

Java中的泛型参考了C++的模板,Java的界限是Java泛型的局限. 2.简单泛型 促成泛型出现最引人注目的一个原因就是为了创造容器类. 首先看一个只能持有单个对象的类,这个类可以明确指定其持有的对象的类型 class Holder1 { private Circle a; public Holder1(Circle a) { this.a = a; } Circle get() { return a; } } 上面的类的可重用性不怎么样,无法持有其他类型的任何对象,下面通过持有Object

Java中Class对象详解

java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成 instance都有多种方式.所以只有弄清其中的原理,才可以深入理解.首先要生成Class对象,然后再生成Instance.那Class对象的生 成方式有哪些呢,以及其中是如何秘密生成的呢? Class对象的生成方式如下: 1.Class.forName("类名字符串")  (注意:类名字符串必须是全称,包名+类名) 2.类名.class 3.实例对象.getClass() 通过一段小程序,来观察一下Cla

java中的static详解

如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象.static 成员的最常见的例子是main( ) .因为在程序开始执行时必须调用main() ,所以它被声明为static. 声明为static的变量实质上就是全局变量.当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量,例如:声明一个static的变量count作为new一个类实例的计数.声明为static的方法有以下几条限制: 1.它们仅能调用其他的s

Java中String类型详解

这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...

java中的异常详解

java中的exception关系图如图下图所示: Throwable是Exception(异常)和Error(错误)的超类!! 两者的区别: Exception表示程序需要捕捉和处理的的异常; Error表示系统级别的错误和程序无需处理的. 我们日常程序中所遇到的是Exception,Exception分为两种: 第一种是JDK标准自带的异常,当程序违反了jdk的语法规则或者非法使用内存等,程序就会抛出异常,常见的jdk异常有: java.lang.nullpointerexception,