小白学习Java第四课:方法,类,对象

在方法前有一语句块,块决定了局部变量的作用域,块中的整个程序代码,作为一个整体,是要被一起执行的。
方法就是一段用来完成特定功能的代码片段,类似于其他语言的函数。面向对象中,整个程序的基本单位是类,方法从属于类和对象。
方法的声明格式:
【修饰符1,修饰符2】返回值类型 方法名(形参列表){
Java语句
}
方法的调用:
对象名.方法名(实参列表)
方法的详情说明:
1、形式参数:在方法声明时用于接收外界传入的数据。
2、实参:调用函数时实际传给方法的数据。
3、返回值:方法在执行完毕后返还给调用他的环境变量的数据。
4、返回值类型:事先约定的返回值数据类型,如果没有返回值,必须显示就指定为void。
测试代码:

    public static void main(String[] args) {
        //通过对象调用普通方法
        Test1 t1=new Test1();
        t1.printStudent();
        int t2=t1.score(60,75,44);
        System.out.println(t2);
    }
    void printStudent(){
        System.out.println("张三");
        System.out.println("李四");
        System.out.println("王二麻子");
    }
    int score(int a,int a1,int a2){
        int z=a+a1+a2;
        System.out.println(z);
        return  z;
    }

在这里插入图片描述
方法的重载:
实际是完全不同的方法,只是名称相同而已。
构成方法重载的条件:
形参类型,个数,顺序不同。
测试代码:

        public static void main(String[] args) {
        System.out.println(score(70,80));
        System.out.println(score(70,80,60));
        System.out.println(score(70,34,67));
    }
    public static int score(int a,int b){
        int z =a+b;
        return z;
    }
    //参数数目不同的重载
    public static int score(int a,int b,int c){
        int z =a+b+c;
        return z;
    }
    //参数类型不同,构成的重载
    public static double score(double a,int b,int c){
        double z =a+b+c;
        return z;
    }
    /*
    编译错误:只有参数名称不同,不构成重载
    public static int score(int b,int b1,int c){
        int z =b1+b+c;
        return z;
    }
    编译错误:返回值不同,不构成方法重载
    public static double score(int a,int b,int c){
        int z =a+b+c;
        return z;
    }
     */

在这里插入图片描述
递归结构:
基本思想:自己调用自己
递归是一种很简单的解决问题的方法,递归结构包括两个部分:
1、定义递归头,什么时候不掉用自身方法,如果没有头则陷入死循环,这也就是递归的结束条件。
2、递归体,什么时候调用自身方法。

测试代码:

    public static void main(String[] args) {
        //递归求阶乘
        System.out.println(factorial(5));

    }

    static long factorial(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n*factorial(n-1);
        }
    }

在这里插入图片描述
面向过程以及面向对象:
面向过程将思考的步骤对应成方法,适合简单的任务,不需要协作的任务,当思考比较复杂的事物,需要很多协作才能完成面向对象的思想就应运而生。
这两种都是解决问题的思维方式,都是代码组织的方式,解决复杂问题宏观上是面向对象,微观处理上仍然是面向过程。
对象和类的概念:
类我们叫做class,对象我们叫做object,instance,以后我们说某个类的对象,某个类的实例是一个意思。
一个类中通常有两个东西,一个是属性,一个是方法。

测试代码:

public class Student {
    //属性
    String name;
    int age;
    Id as;
    //方法
    void printf(){
        name ="张三";
        age =15;
        System.out.println(name+age+as.id);
    }

    public static void main(String[] args) {
        Student stu =new Student();//创建一个类,调用Student类的一个构造方法
        Id a=new Id();
        a.id=123;
        stu.as=a;
        stu.printf();
    }
}
class Id{
    int id;
}

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值