博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——类的无参、带参方法
阅读量:4567 次
发布时间:2019-06-08

本文共 3973 字,大约阅读时间需要 13 分钟。

》类的无参方法

什么是类的方法  

  类是由一组具有相同属性和共同行为的实体抽象而来。对象执行的操作是通过编写类的方法实现的。显而易见,类的方法是一个功能模块,其作用是“做一件事情”。

如何定义类的方法

类的方法必须包括以下3个部分

  》方法名称。

  》方法返回值。

  》方法的主体。

语法:

public  返回值类型  方法名(){

  //方法的主体

}

在编写方法时要注意一下3点:

  》方法体放在一对大括号中。方法体就是一段程序代码,完成一定工作。

  》方法名主要在调用这个方法时使用。在Java中一般采用骆驼式命名法。

  》方法执行后可能返回一个结果,该结果的类型称为返回值类型。使用 return 语句返回值。

语法 :

  return  表达式;      作用:跳出方法,返回结果。

public class Student {    String name;        //在方法名括号里没有参数的称之为无参方法    public String initname(){        name="小红";        return name;    }}

 

方法调用:

语法:

  对象名.方法名();

  Java中类是程序的基本单元。每个对象需要完成特定的应用程序功能。当需要某一对象执行一项特定操作时,通过调用方法来实现。另外,在类中,类的不同方法之间也可以进行相互调用

》测试类
public class MyTest {    public static void main(String[] args) {        Student stu = new Student();   //创建学生对象        String name =stu.initname();   //调用方法并接收方法的返回值        System.out.println(name);   //显示类信息            }}

 

 


 

》常见错误
原因分析:方法的返回值类型为void,方法中不能有return 语句。

原因分析:方法不能返回多个值。

原因分析:多个方法不能相互嵌套定义。例如,不能将getInfo()定义在showInfo()中。

 

原因分析:不能在方法外部直接编写程序逻辑代码。

 


 

 

》成员变量和局部变量

   Java中以类来组织程序,类中可以定义变量和方法,在类的方法中。同样可以定义变量。

 

public class Student {    /**     * 成员变量:类的方法可以直接使用该类定义的成员变量。如果其它类的方法要访问它,     * 必须首先创建该类的对象,然后才能通过操作符"." 来引用     * */    String name;        //在方法名括号里没有参数的无参方法    public String initname(){        name="小红";  //直接引用成员变量        /**         * 局部变量:它的作用域仅仅在定义该变量的方法内,因此只有在这个方法中能够使用。         * */        String name1 = "小明";   //局部变量        return name1;    }}

 

需要注意以下几点: 》作用域的不同。局部变量的作用域仅限于定义它的方法,在该方法外无法访问。成员变量的作用域在整个类的内部都是可见的,所有成员方法都可以使用,如果访问权限允许,还可以在类外部使用成员变量。 》初始值不同。对于成员变量,如果在类定义中没有给它赋初始值,Java会给它一个默认值,基本数据类型的值为0,引用类型的值为 null 。但Java不会给局部变量赋初始值,因此局部了变量必须要定义赋值后再使用。 》在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量。 》局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。

 


 

》带参方法

语法:

<访问修饰符> 返回值类型 <方法名>(<参数列表>){

  //方法的主体

}

public class Student {        //带参方法    public void initname(String name){        System.out.println(name);    }}

 

调用带参方法:

  调用带参方法与调用无参方法的语法相同,但是在调用带参方法时必须传入实际的参数的值。

public static void main(String[] args) {        Student stu = new Student();   //创建学生对象                Scanner input =new Scanner(System.in);        System.out.println("请输入姓名:");        String name= input.next();        stu.initname(name);  //转入参数            }

在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参。形参是在定义方法是对参数的称呼,目的是定义方法需要传入的参数个数和类型。实参是在调用方法时传递给方法处理的实际的值。

调用方法时,需要注意一下两点。

》先实例化对象,再调用方法。

》实参的类型、数量、顺序都要与形参一一对应。

 


 

》传入多个参数
public class Student {        //带参方法    public void initname(String name,int age){        System.out.println(name);    }}
调用方法:
public static void main(String[] args) {        Student stu = new Student();   //创建学生对象                Scanner input =new Scanner(System.in);        System.out.println("请输入姓名:");        String name= input.next();        System.out.println("请输入年龄:");        int age= input.nextInt();                stu.initname(name,age);  //转入参数            }

 

注意:在多个参数中,形参和实参一定要一一对应。

 


 

》以对象作为参数 学生类
public class Student {    int id;    String name;    int age;            public void showInfo(){        System.out.println(id+"\t"+name+"\t"+age);    }}

 

学生管理类
public class StudentBiz {    Student[] stus=new Student[5];        //添加方法    public void addStudent(Student stu){        for (int i = 0; i < stus.length; i++) {            if(stus[i]==null){                stus[i]=stu;                break;            }        }    }        //遍历学生信息    public void showStudent(){        System.out.println("本班学生列表:");                for (int i = 0; i < stus.length; i++) {            if(stus[i]!=null){                stus[i].showInfo();            }        }    }}

 

调用方法
public static void main(String[] args) {                Student stu1 = new Student();   //创建学生对象        stu1.id=18;        stu1.name="小明";        stu1.age=20;                Student stu2 = new Student();   //创建学生对象        stu2.id=19;        stu2.name="小红";        stu2.age=19;                //创建学生管理对象        StudentBiz biz=new StudentBiz();        biz.addStudent(stu1);        biz.addStudent(stu2);                biz.showStudent();                    }

 

转载于:https://www.cnblogs.com/szj-ang/p/7230161.html

你可能感兴趣的文章
构建之法阅读笔记之四
查看>>
10.15习题2
查看>>
Windows Server 2008 R2 备份与恢复详细实例
查看>>
Ubuntu上kubeadm安装Kubernetes集群
查看>>
关于java学习中的一些易错点(基础篇)
查看>>
MFC的多国语言界面的实现
查看>>
四则运算个人项目 最终版
查看>>
java线程系列---java5中的线程池
查看>>
SQL表连接
查看>>
新秀系列C/C++经典问题(四)
查看>>
memset函数具体说明
查看>>
经常使用的android弹出对话框
查看>>
确保新站自身站点设计的合理性的六大注意点
查看>>
promise
查看>>
Go 网络编程笔记
查看>>
[]Java面试题123道
查看>>
中间件与auth认证的那点儿所以然
查看>>
Scala
查看>>
Android 中LinearLayout控件属性
查看>>
面向对象之多态性
查看>>