当前位置: 首页>编程语言>正文

swift 有参有返回值的闭包 java有参有返回值方法调用

声明:

[修饰符1 修饰符2...]返回值类型 方法名(形式参数列表)
   {
     程序代码;
     [return 返回值];
    }

有无返回值

有void修饰,无返回值

int------------------>return  int  类型的值

string-------------->return String类型的值

数据类型-------->return 当前数据类型值

返回类、集合、流等

方法的返回值类型必须和return之后的值数据类型一样

 

方法的参数列表可以是有参数的,也可以是没有参数的。
使用方法的好处:提高代码的复用性
有参方法是指()中包含一个或多个变量的定义,也称为参数列表
无参方法是指()中不含参数

参数有两种:
形式参数(形参):在方法定义时用于接收外界输入的数据。定义方法时所携带的参数
实际参数(实参):调用方法时实际传给方法的数据

形参和实参的区别:

1形参只有在被调用的时候,才分配内存单元,在调用结束时立即释放内存单元,形参只在当前方法内部有效

2实参可以是常量、变量、表达式、方法 等。但是在进行方法调用前,必须要有确定的值。

3形参和实参在顺序、类型、长度、必须一致。

4实参到形参是单向的,

方法的调用:
1.直接调用:方法名(实参列表);   //调用的前提是该方法存在于当前类中
2.类名调用:类名.方法名(实参列表);  //调用的前提是该方法属于静态方法(也就是用static修饰的方法)
3.对象调用:对象.方法名(实参列表);


定义子类:(关键字extends继承)

public class Mananger extends Employee
{
    方法和域...
}

此时,Employee是一个超类父类),子类Mananger继承了他的父类。子类可以使用父类的公有信息,不能访问私有信息,不过我们可以通过调用父类的公有方法获得私有数据。

子构造器:super

super有俩个用途:一是调用超类的方法

                              二是调用超类的构造器(构造函数)

如果子类没有显示的调用超类的构造器,则将自动的调用超类默认(没有参数)的构造器。

 

理解方法的调用:

编辑器查看对象的申明类型和方法名。假设x.f(param),且隐式参数x声明为C类的对象。需要注意的是:有可能存在多个名字为f,但参数不一样的方法。例如,可能存在方法f(int)和方法f(String)。编译器将会一一列举所有C类中名为f的方法和其超类中访问类型为public且名为f的方法(超类的私有方法不能访问)。

接下来,编译器将查看调用方法时所提供的参数类型。如果在所以名为f的方法中存在一个与提供的参数类型完全匹配,就选择这个方法。这个过程被称为重载解析。例如,对于调用x.f("Hello")来说,编译器将会挑选f(String),而不是f(int)。如果编译器没有找到与参数类型匹配的方法,或者多个方法与之匹配,就会报一个错误。

举个栗子:

先建立一个java项目,把这些类放在一个包里面

 

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_swift 有参有返回值的闭包,第1张


这是一个父类,有私有属性age;

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_父类_02,第2张

这是一个子类,继承了people类,也有一个age私有属性;

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_子类_03,第3张

这是一个子类,继承了people类,有一个School类;

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_swift 有参有返回值的闭包_04,第4张

一个测试的类(Test)

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_子类_05,第5张

结果:

 

swift 有参有返回值的闭包 java有参有返回值方法调用,swift 有参有返回值的闭包 java有参有返回值方法调用_父类_06,第6张

 

1、图中第一个19就是new一个Student对象,然后设置值,再输出出来,好的没有什么问题(Test类中5,6,7行代码)。

2、之后的20  其实是调用的People类(父类)的方法,因为Student没有age可以设置,所以就往它的父类设置了

3、最后的“老师今年80了”和40 ,调用的也是父类的age,不过是用Teacher类的getAge()方法输出的,不是People类的。


多态

指的是对象变量是多态的。一个类的变量既可以引用它自己的对象,也可以引用它里面的任何一个子类对象。

栗子之后在补,没找到好的栗子(2019.08.18:22:00);


未完待续....

 

 

 

 

 


https://www.xamrdz.com/lan/5wg1959687.html

相关文章: