复习要点
1.方法
概念:方法是一套功能代码
1.1认识方法
// 方法的声明有一个固定大概的形式,即
// [访问权限修饰符] [静态] 返回值类型 方法名(形参列表){方法体}
// 其中[访问权限修饰符] [静态]根据需要选择是否需要
public void test(){
int num = 10;
}
1.2方法返回值介绍
// public 公有,封装符号,其余还有protected,默认的,private
// 返回值类型,可以是一切基本或引用数据类型
// 有返回值的方法可以向方法外部提供数据,在调用该方法的地方就可以接返回值
// 类似顾客(被调用方法)给服务员提供小费,给int,String,还是其他类型由顾客决定
// 但当不想给“小费”时,也要写一个关键字void
public int getNum(){
return 1;
}
public String getString(){
return "hello";
}
public int[] getArray(){
int arr = {1,2,3};
return arr;
}
public void showInfo(){
System.out.println("Sorry");
}
1.3方法的参数
public class Demo {
// num为形参,类型要求为int
public void test1(int num) {
System.out.println(num);
}
public void test2(){
// 调用时需要按照“对方”的要求,给对方参数,才能调用
// 形参类似是一个门卫,要求调用者必须按要求“出示”参数
test1(6); // 正确
test1("hello");// 错误
}
public void test3(int arr[]) {
System.out.println(arr[0]);
}
public void test4() {
int arr[] = {1,23,56};
test3(arr); // 正确
test3("hello");// 错误
}
}
1.4方法的重载(静态多态,编译时多态)
概念:同一个类中同名不同参的方法(与返回值无关)
public class Demo {
public int test1(){
System.out.println("123");
return 1;
}
public void test1(int num){
System.out.println(num);
}
}
1.5特殊的方法——构造器
作用:创建对象
// 构造器(构造方法):1.与类同名,2.没有返回值,没有void
public class Demo {
// 无参构造器
public Demo() {
}
// 有参构造器
public Demo(int num) {
}
// 普通方法,命名还不规范,受人鄙视
public void Demo() {
}
}
1.6方法的调用
提示:
在不同的类中,static修饰的方法或属性可以直接通过类名调用
public class DemoClass_One{
static int num = 999;
public static void show(){
System.out.println(1);
}
}
public class DemoClass_Two{
public static void main(String[] args) {
// 使用别人的东西,当然要“喊”对方的名字,所以需要加类名
DemoClass_One.show();// 打印输出1
System.out.println(DemoClass_One.num);// 打印输出999
}
}
在同一个类中,static修饰的方法只能直接访问static成员
public class DemoClass_One{
int i = 1000;
static int num = 999;
public static void demo1(){
}
public void demo2(){
}
// 静态方法:只能直接访问静态的属性或其他静态方法
public static void test(){
System.out.println(num); // 正确
System.out.println(i);// 报错
demo1();// 正确
demo2();// 报错
}
}
静态的属性共享(大家用的都是同一个)
public class Demo{
static int num = 100;
}
public class Test{
public void test1() {
Demo.num++;
}
public void test2() {
Demo.num++;
}
public void test3() {
test1();
test2();
System.out.println(Demo.num);// 打印输出102
}
}
经典练习题
方法的定义
1.定义一个Test类,定义一个返回值类型为String的方法,名为test,形参为int,并返回“你好”
public class Test {
String test(){
return "你好";
}
}
2.定义一个类Demo,在类中定义一个方法show,形参为两个double,返回值为这个两个参数的和
public class Demo {
double show(double a,double b){
return a+b;
}
}
方法的调用
3.在Test类中,定义一个方法do,调用上述1题中所定义的方法
引包
public class Test {
void do(){
Test t=new Test();
t.test()
}
}
静态
4.static修饰的类和方法有什么特点?如何调用?
静态的属性共享
在不同的类中,static修饰的方法或属性可以直接通过类名调用
构造器的作用
5.构造器的作用是创建对象
重载,又称为静态多态,编译时多态,overload
6.同一个类中同名不同参的方法称为重载(与返回值无关)
public class Demo {
// 方法的重载
public void test1(int num) {
}
// 方法的重载
public int test1() {
}
// 错误,同一个类中不能有同名同参方法
public double test1() {
}
}
网友评论