java基础语法3
类和方法
1.类:
1.1:类的基本结构:
定义:java类由类头和类体两部分组成。定义格式如下:
【类修饰符】 class 类名【implements 接口名列表】{//当接口名多于一个的时候用,分开。
成员变量; //描述类的属性(静态特征)
构造方法; //初始化对象的特殊方法
成员方法; //类的行为(动态行为)
}
例如:
public class Person { int age;//成员变量 String name; public void run(){...}//成员方法 }
1.2:类的修饰符:
1.访问控制符:public和默认
2.类型说明符:abstrsct和final
一起使用的时候:访问控制符在前:例如public abstract class Dome就声明了一个公共抽象类。
1.3:类的成员:
1.成员变量:(类中定义,描述对象将要有什么)
[<变量修饰符>] [static] [final] <变量类型><变量名>
2.成员方法:(类能够实现的功能)
[方法修饰符] [static] 返回值类型 方法名(参数列表){
方法体
}
例如:
public int Lx(int y,int m){
return (y>m?y:m)
}
3.方法体中的局部变量:(类的方法中定义,在方法中临时保存数据)
public class Num1 { int x=10;//定义成员变量 int y=20; public static void main(String[] args){ int x=100; //定义方法内部的局部变量 int y=200;{ int a=x+y; //定义复合语句内部的局部变量 System.out.println("a="+a); } Num1 ob=new Num1(); int a=ob.x+ob.y; //退出复合语句,可重新定义 System.out.println("a="+a); } }
运行结果:
2.方法:
2.1:方法的概述:
为什么要有方法:提高代码的复用性。
什么是方法:完成特定功能的代码块。
方法的命名规则
- 1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
- 2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack。
2.2:方法的定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句; return 返回值;
}
说明:
*修饰符:目前就用 public static。静态修饰符static,还有最终修饰符final等。
* 返回值类型:限定方法返回值的数据类型。
* 方法名:符合命名规则即可。方便我们的调用。
* *参数:
* 实际参数:就是实际参与运算的。
* 形式参数;就是方法定义上的,用于接收实际参数的。
* 参数类型:就是参数的数据类型,用于限定调用方法时传入参数的数据类型。
* 参数名:就是变量名
* 方法体语句:就是完成功能的代码。定义该方法的功能。
* return:结束方法的。
* 返回值:就是功能的结果,由return带给调用者。
注意:如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型。
如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
例如:
public static int Max(int num1,int num2){ int x; if(num1>num2) x=num1; else x=num2; return x; }
2.3:方法的定义和使用的注意事项
* a: 方法不能定义在另一个方法的里面
* b: 写错方法名字
* c: 写错了参数列表
* d: 方法返回值是void,方法中可以省略return 不写 return 下面不能有代码
* e 方法返回值类型,和return 后面数据类型必须匹配
* f: 方法重复定义问题
* g: 调用方法的时候,返回值是void, 不能写在输出语句中
2.4:方法的调用:
无参方法的调用:方法名()
有参方法的调用:方法名(实参列表)/*实参列表与定义方法的形参列表要一致*/
package com.number1.com; public class Max { /*主方法*/ public static void main(String[] args){ int i=2; int j=3; int k=max(i,j); System.out.println(i+"和"+j+"比较,较大的值是:"+k); } /*返回两个整数变量较大的值*/ public static int max(int x,int y){ int result; if(x > y) result = x; else result = y; return result; } }
2.5:方法的重载:
定义:同一个类中允许同时存在一个以上的同名的方法
规则:
*方法名相同
*参数列表不同(个数/类型/)
*与返回值无关,可以相同,也可以不同。
2.6方法的重写:
定义:对于从父类继承来的方法进行改造。(子类继承父类的时候发生)
规则:
*方法名相同
*方法的参数列表相同
*方法的返回值类型不同
*子类重写方法的访问权限要不小于父类中被覆盖方法的访问权限