java学习笔记5

这篇博客详细介绍了Java中的类和对象的概念,包括类的定义、对象的属性和方法,以及如何创建和调用对象。此外,还探讨了方法的定义、分类、调用,特别是构造方法的语法和作用。文章强调了方法重载的重要性,并解释了this关键字在区分成员属性和局部变量中的应用。最后,提到了方法返回值类型、对象参数、数组参数、局部变量和全局变量的使用和区别,以及不同类型的代码块的用途。
摘要由CSDN通过智能技术生成

9. 类和对象

9.1 类

9.1.1 类的定义

​ 类是具有相同属性和方法的具体实例的集合,类是对象的抽象,对象是类的具体实例

9.1.2 类语法
public class 类名{
  // 1. 属性
  public 变量的类型 变量名称1;
  public 变量的类型 变量名称2;
  ...
  // 2. 方法
  public void 方法1(){}
  public void 方法2(){}
  ...
}
9.1.3 类图
  • 类的图形化表示方式

9.1.4 创建类
package cn.bdqn;

/**
 * 学校类School 包含学校名称、学校地址、教室数量属性和显示学习信息的方法
 *
 * @author 强哥
 * 2023-05-25
 */
public class School {
   
  // 1. 定义属性
  public String schoolName; // 学校名称
  public String address; // 学校的地址
  public int roomCount; // 教室数量
  public int age = 21; // 创办年数

  // 2. 定义方法 5个要素:修饰符public 返回值类型void 方法名称showInfo 形参列表() 方法体{}
  public void showInfo(int a,String args,double num) {
   
    // 方法中this指的是当前方法调用的对象,是当前类的具体实例对象
    System.out.println("学校名称:" + this.schoolName);
    System.out.println("学校地址:" + this.address);
    System.out.println("教室数量:" + this.roomCount);
  }
}

9.2 对象

9.2.1 对象的定义

对象: 描述客观事实的实体,由一组属性和方法组成

9.2.2 对象的属性

属性: 是对象具有特征,如张浩同学的特征:年龄,性别,身高,体重,爱好,手机号,qq,邮箱 ,微信…

9.2.3 对象的方法
  • **方法:**对象执行功能,实际就是方法体对应的代码
  • 方法5要素:
    • 方法的修饰符: public 、private、static…
    • 方法的返回值类型: void、String[] 、double、School…
    • 方法名称: showInfo、task1、demo1…
    • 方法的形式参数列表 :(int a,String args,double num) 中间定义的局部变量称形式参数列表
    • 方法体:{}之间的代码块
9.2.4 创建对象
public static void main(Srting[] str){
   
  // 1. 创建对象 
  School sc = new School();
}
9.2.5 调用对象属性
public static void main(Srting[] str){
   
  // 1. 创建对象 
  School sc = new School();
  // 2. 调用属性
  sc.schoolName = "北大青鸟合肥协同教育学院";
  sc.address = "安徽省合肥市蜀山区琥珀街道长江西路130号安徽农业大学科技长廊5楼";
  sc.roomCount = 25;
  sc.age = 21;
  System.out.println("age=" + sc.age); // age=21
}
9.2.6 调用对象方法
public static void main(Srting[] str){
   
  // 1. 创建对象 
  School sc = new School();
  // 2. 调用属性
  sc.schoolName = "北大青鸟合肥协同教育学院";
  sc.address = "安徽省合肥市蜀山区琥珀街道长江西路130号安徽农业大学科技长廊5楼";
  sc.roomCount = 25;
  sc.age = 21;
  System.out.println("age="+sc.age); // age=21
  // 3. 调用方法
  sc.showInfo();
}

10. 方法及方法重载

10.1 方法

10.1.1 方法的定义
  • 在类中定义功能代码块称方法,方法中封装了一些为解决某个问题而编写的代码片段,可以反复使用

  • 语法

    修饰符 返回值类型 方法名称(形参列表){
      ...
      方法体
      ...
      retrun 返回值;
    }
    
    public static String getMsg(int age, String name, String msg) {
         
        // 方法体
        String result = null;
        if(age > 18) {
         
            result = name + ", 恭喜你成年了," + msg;
        }else{
         
            result = name + ", 你还未成年," + msg;
        }
        // 返回值
        return result;
    }
    
10.1.2 方法的5要素
  • 修饰符 public ,static,private,protected,默认的(没有修饰符)

  • 返回值类型 String ,void,int…

  • 方法名称 getMsg

  • 形参列表 int age, String name, String msg

  • 方法体 {}中包括的程序代码

10.1.3 方法的分类
  • 实例方法 和 类方法

    public class Person{
         
    	// 实例方法,只能使用对象进行调用
    	public double getNum(double a, double b){
         
    		return a + b;
    	}
    	
    	// 类方法(静态方法), 通过类名和对象调用
    	public static String getName(String firstName, String lastName){
         
    		return firstName + lastName;
    	}
    }
    
  • 有参方法 和 无参方法

    public class Person{
         
    	// 无参方法
    	public double getNum(){
         
    		return 10;
    	}
    	
    	// 有参方法
    	public double getNum(double a, double b){
         
    		return a + b;
    	}
    }
    
  • 有返回值方法 和 无返回值方法

    public class Person{
         
    	// 无返回值方法
    	public void getNum(){
         
    		System.out.println(10);
    	}
    	
    	// 有返回值方法
    	public double getNum(double a, double b){
         
    		return a + b;
    	}
    }
    
  • 构造方法

    public class Person {
         
    	// 构造方法
    	public Person(){
         }
    
    	// 无返回值方法
    	public void getNum(){
         
    		System.out.println(10);
    	}
    	
    	// 有返回值方法
    	public double getNum(double a, double b) {
         
    		return a + b;
    	}
        
        // 类方法(静态方法) 通过类名和对象调用
        public static void setNum(int a ){
         
            System.out.println(a * 10);
        }
    }
    
10.1.4 方法的调用
  • 实例方法调用:使用类的对象调用方法

    Person person = new Person();
    person.getNum();
    double res = getNum(1, 2);
    System.out.println(res); // 3
    
  • 类方法调用: 通过类名或对象调用方法

    Person person = new Person();
    Person.setNum(10); // 100
    person.setNum(20); // 200
    
  • 构造方法调用:用于创建对象的方法

    Person person = new Person();
    

10.2 有参方法

10.2.1 有参方法语法
public class Calculator {
   
	public void add (int a, int b) {
   
		System.out.println(a + b);
	}
}
  • 方法add中的小括号中的int a,int b就是方法 的形参列表,是调用时等待赋值的局部变量
10.2.2 有参方法调用
public static void main(String[] args) {
   
	Calculator cal = new Calculator();
	cal.add(1, 2); // 3
}
  • 先创建Calculator类的对象 cal = new Calculator();
  • 通过对象cal调用方法add(1,2),传递两个参数1,2称实参,分别赋值给int a=1; int b = 2;
  • 执行方法体:输出结果 3

10.3 构造方法

10.3.1 构造方法语法
public class Dog {
   
    private String name;
    private int age;
    private int love; // 亲密度
    private int health; // 健康值
	// 修饰符 + 类名 组成的方法称构造方法
	public Dog(){
   }
}
10.3.2 构造方法作用
  • 构造方法用 new 指令创建对象

    Dog dog = new Dog(); // 使用new创建对象
    
  • 构造方法中可以对对象的属性进行初始化 或 执行其它功能

    // 构造方法
    public Dog(
  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值