Java学习过程(2)

主要是

关于java方法的定义

定义一个方法的语法是

1
2
3
访问修饰符 返回值类型 方法名(参数列表){
方法体;
}

在其中

  1. 访问修饰符:方法允许被访问的权限范围,可以是public、protected、private甚至可以省略。
  2. 返回值类型:方法返回值的类型。如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则需要指定返回值的类型,并且必须使用return语句返回值
  3. 方法名:定义的方法的名字,必须使用合法的标识符。
  4. 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型参数名组成,以空格隔开 。

具体使用用以下的例子来进行举例

1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {
Demo1 test = new Demo1();
test.print();
}
/ *方法的定义*/
public void print(){
System.out.println("Hello, World!");
}
/*方法的调用*/

将昨天所学的java.util.Scanner结合使用的一个小Demo如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.seventh;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Demo3 text = new Demo3();
double ava = text.show();
System.out.println("平均分是:" + ava);
}
public double show() {
Scanner input = new Scanner(System.in);
System.out.println("请输入java的成绩:");
double java = input.nextDouble();
System.out.println("请输入php的成绩:");
double php = input.nextDouble();
double ava = (java + php) / 2;
return ava;
}
}

运行结果


java方法中的重载

什么是重载?
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
用具体的例子可以更为方便的理解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.seventh;
public class Demo7 {
public static void main(String[] args) {
Demo7 output = new Demo7();
output.show();
output.show("imooc");
output.show(12);
}
public void show() {
System.out.println("这是无参数的show函数");
}
public void show(String s) {
System.out.println("这是带字符串类型参数的show函数,参数为" + s);
}
public void show(int i) {
System.out.println("这是带整型类型参数的show函数,参数为" + i);
}
}

上述代码在同一个类定义了三个均名为show的方法,但是其在参数的个数及类型上不尽相同,这就是java方法中的重载。
那么重载的作用体现在哪里?
具体可以认为是,一个方法可能会被多次使用,而且每次被使用时候所传递的参数的类型和个数都不尽相同,这个时候如果对方法进行重新命名显然不是很棒,因此就有了重载这一说。

java中的类和对象

面向对象
类是对象的类型
属性——对象的各种特征
方法——对象执行的操作
类和对象的关系:类是抽象的概念,对象是一个具体的实体
那么如何定义一个类呢?主要可以分为以下几步:

  1. 定义类名
  2. 编写类的属性
  3. 编写类的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.imooc;
//1.定义一个类
public class Telephone {
//2.属性(成员变量)有什么
float screen;
float cpu;
float mem;
//3.方法 干什么
void call(){
System.out.println("Telephone有打电话的功能!");
}
void sendMessage(){
System.out.println("Telephone有发短信的功能!");
}
}

定义了一个class类,类名为Telephone
同样的,使用对象也有两步:

  1. 创建对象
    类名 对象名 = new 类名();

    1
    2
    Telephone phone = new Telephone();
    /*创建了一个名为phone的对象*/
  2. 使用对象
    引用对象的属性 : 对象名.属性;

    1
    2
    phone.screen = 5;
    /*phone对象的screen属性值为5*/