javaSE-方法&对象&构造方法

方法:
  • 概念:

    • 完成独立功能的模块,可以实现代码的重复利用,
  • 作用:

    • 可以反复使用的代码,增强代码的可读性
  • 方法的基本语法格式:

    • 访问控制符 返回值 方法名(){
      方法体
      }
      
  • 方法的调用:

    • 有static修饰:

      • 属于静态方法,在需要调用时我们用类名去调用方法名
      • 在main方法中,我们可以不用类名去调用方法,直接使用简单的方法:方法名()
    • 无static修饰:

      • 直接用方法名进行调用
  • 方法中的参数:

    • 形参:形式参数
      • 就是在方法当中的()内写的参数,是用来告诉程序员,这个方法需要输入的参数是什么类型的,在调用的时候就传入该类型的值
    • 实参:实际参数
      • 就是在调用方法的时候,我们对方法中的规定的参数进行传入的值,必须传入相同类型的值才能调用此方法,也就是我们主要进行运算的值
  • 方法的分类:

    • 无参数无返回
      • 在方法里面打印输出,那么main方法里面只需要调用
    • 有参数有返回
    • 有参数无返回
    • 无参数有返回
      • 就是不要在方法里面进行打印输出
      • 返回的关键字:
        • return 结果会被他返回
        • 你返回的是什么类型,我们就要在方法中的void的位置改为对应的类型
  • 特别注意:

    • 编译只看类型,不看值
    • 在有返回的方法中,有if和for的时候,我们要充分地考虑如果进不去判断或者循环,要始终保证整个方法有一个返回值
  • 方法的传递:

    • 基本数据传递的是数值
    • 引用数据类型传递的是地址值
  • 方法传递时 的可变参数

    • 可变参格式
      • 访问控制符 返回值 方法名(其他数据类型 变量,数据类型…数变量名){}
    • 意义:
      • 主要是用于传多个的值,在我们需要多个不固定的值 进行操作的时候,进行的值传递,满足不同的需求
      • 他的本质必须是就是数组
    • 作用:
      • 简化了代码,具体传入的值是交给了编译器进行编译
面向对象:
  • 概念:

    • 就是找人来帮自己做事
  • 基本语法:

    • public class 类名 { 
      // 可编写 0 到 n 个成员变量 
      [修饰符] 数据类型 变量名1; 
      [修饰符] 数据类型 变量名2; 
      
      // 可编写 0 到 n 个成员方法 
      [修饰符] 返回值类型 方法名称(参数) { 
      //方法体 
      } 
      }
      
      设计类要求:
      	1.类名,大驼峰,见名知意,不能以jdk中存在的类命名
      	2.成员变量名和方法名,小驼峰,见名知意
      	3.在类名、方法名、成员变量名上面写文档注释
      
      
  • 命名规则就是统一的java规范的规则

  • 创建对象:

    • 格式:

      • 类名 对象名 = new 类名();
    • 用对象给成员变量的对象赋值

      • 对象名.成员变量名 = 值

      • // 1. 创建对象(相当于复制模板): 语法:类名 对象名 = new 类名();
        		Student student = new Student();// 必须声明一个Student类型的变量保存当前对象
        		
        		// 2. 对象赋值(填写信息)	语法:对象名.成员变量 = 值;
        		student.name = "美女老师";
        		student.age = 37;
        
        
    • 对象取值和对象调用实例方法

      • 对象取值语法:
        	对象名.成员变量 ; 
        对象调用实例方法:
          	 对象名.方法名(…);
        
    • 面向对象在堆栈内存的理解

      • 元空间:
        • 是我们在定义类的时候,就会把我们写的变量等的模板放在里面,供堆去复制
      • 堆内存:
        • 每次创建一个对象,就会在堆内存中生成一个地址值,并且堆内存会从栈内存中复制模板下来,并且用一个地址值来记录
      • 栈内存:
        • 在代码进行运行的时候,首先进入栈内存,并且栈内存在需要调用的时候,会跑去堆内存中去找对应的属性,通过堆内存的地址值去找到对应的元素,然后再进行赋值等的操作
构造方法(Constructor):
  • 概念:

    • 和普通方法类似,但是是和普通方法中的代码块不同
    • 他也是方法,也能执行代码的逻辑
    • 构造方法就是一个代码块 就是一个结构 ,构造方法和 字段 方法一样都是一个类中的成员之一
    • 存在于类的结构体中
  • 特点:

    • 每个类中至少有一个构造方法
    • 如果没有显示 的,那么就会有一个隐式的无参数的构造方法
    • 如果我们进行编译了构造方法,那么隐式的构造方法已经不存在了
    • 因此我们在使用构造方法的时候,最好是将两种情况的构造方法全部都声明出来,用就拿,不用就放着
  • 作用:

    • 是在创建对象的时候,直接给对象赋值吗,简化代码的复杂性,就不会每次都去调用成员变量然后再进行赋值,太过于冗杂
  • 特别注意:

    • 只有在创建的时候赋值,不能在创建好过后再进行赋值
    • 只要创建了构造方法或者被new调用,就是在堆内存中创建了对象,对象都是被放在堆内存中的
  • 语法格式注意:

    • 和类名一致
    • 不能有返回值,也就是不能有return void也不行
    • 和普通方法一样, 可以有参数,形参,也可以有修饰符
    • 必须有方法体
    • 构造方法不能有任何非访问性质的修饰符修饰,例如 static、final、synchronized、abstract等都不能修饰构造方法。
  • 使用语法;

    • new 类名();// 调用无参构造
      new 类名(...);// 调用有参构造
      
  • 注意:new Student() 这个整体既是一个Student对象,又是调用的Student的无参数构造方法。

  • 方法的调用:

    • 在同一个类中有static修饰和没有static修饰
      • 在同一个类中,有static修饰,直接使用方法名
    • 在不同的类中,有static修饰:
      • 类名.方法名
    • 不在同一个类中
      • 创建一个对象,通过对象去调用方法
        • 对象名 . 方法名
  • 构造方法的赋值:

    • 对象名.成员变量
      • 值和成员变量的数据类型必须一致
    • 有参构造:
      • new 类名()
        • 实参和成员变量的类型必须一致
有参构造和无参构造使用的场景
  • 当对象需要赋值的成员变量很多的时候,用:无参构造创建对象,然后用 对象名.成员变量 = 值; 方式赋值
  • 当对象需要赋值的成员变量少的时候,用:有参构造创建对象直接赋值即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值