形式参数类名的问题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 形式参数的问题

/*

形式参数的问题:

基本类型:形式参数的改变不影响实际参数

引用类型:形式参数的改变直接影响实际参数

*/

//形式参数是基本类型

class Demo {

public int sum(int a,int b) {

return a + b;

}

}

//形式参数是引用类型

class Student {

public void show() {

System.out.println("我爱学习");

}

}

class StudentDemo {

//如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。

public void method(Student s) { //调用的时候,把main方法中的s的地址传递到了这里 Student s = new Student();

s.show();

}

}

class ArgsTest {

public static void main(String[] args) {

//形式参数是基本类型的调用

Demo d = new Demo();

int result = d.sum(10,20);

System.out.println("result:"+result);

System.out.println("--------------");

//形式参数是引用类型的调用

//需求:我要调用StudentDemo类中的method()方法

StudentDemo sd = new StudentDemo();

//创建学生对象

Student s = new Student();

sd.method(s); //把s的地址给到了这里

}

}

2 匿名对象

/*

匿名对象:就是没有名字的对象。

匿名对象的应用场景:

A:调用方法,仅仅只调用一次的时候。

注意:调用多次的时候,不适合。

那么,这种匿名调用有什么好处吗?

有,匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。

B:匿名对象可以作为实际参数传递

*/

class Student {

public void show() {

System.out.println("我爱学习");

}

}

class StudentDemo {

public void method(Student s) {

s.show();

}

}

class NoNameDemo {

public static void main(String[] args) {

//带名字的调用

Student s = new Student();

s.show();

s.show();

System.out.println("--------------");

//匿名对象

//new Student();

//匿名对象调用方法

new Student().show();

new Student().show(); //这里其实是重新创建了一个新的对象

System.out.println("--------------");

//匿名对象作为实际参数传递

StudentDemo sd = new StudentDemo();

//Student ss = new Student();

//sd.method(ss); //这里的s是一个实际参数

//匿名对象

sd.method(new Student());

//在来一个

new StudentDemo().method(new Student());

}

}

3 封装类private

/*

private:

是一个权限修饰符

可以修饰成员变量和成员方法

被其修饰的成员只能在本类中被访问

*/

class Demo {

//int num = 10;

//用private修饰

private int num = 10;

public void show() {

System.out.println(num);

}

private void method() {

System.out.println("method");

}

public void function() {

method();

}

}

class PrivateDemo {

public static void main(String[] args) {

Demo d = new Demo();

//不能方法私有的成员变量

//System.out.println(d.num);

d.show();

//不能访问私有的成员方法

//d.method();

d.function();

}

}

4 定义学生类

/*

定义一个学生类:

成员变量:name,age

成员方法:show()方法

相关文档
最新文档