JAVA入门知识点+案例介绍(第十一集)

举报
迈热 发表于 2022/04/28 19:10:21 2022/04/28
【摘要】 JAVA入门知识点+案例介绍(第十一集)

📋个人简介

📜个人简介 :
🎅 作者简介:大家好,我是迈热✌️
🌝 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础🍁
✉️格言:先把键盘敲烂再说💻往死里敲!🌞

🌞学习前的小唠叨

🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍
既然我们已经踏入了学习这一长路, 那么就把它做的让
自己满意为止💜 加油兄弟萌!!!!😝

在这里插入图片描述

@[TOC](目录)

🍄 前言

🍊这一期给大家安排一波有关高级之面向对象的案例🍊

🐳案例一:类的定义 与 对象的创建

开启学习模式了哦!!!

💦1.1 案例一需求

  • 🍒🍒案例需求:定义一个学生类、创建学生类的对象;

  • 🍒🍒 需求分析

    • 🎃 在面向对象的思想中最核心就是对象,在程序中创建对象的前提是需要定义一个类。
    • 🎃 为了掌握类的定义方式,将设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为的方法speak(),用于输出学生的姓名和年龄。
  • 🍒🍒 思路:

    • 🎃 使用class关键字定义一个表示学生类型的类,类名为Student。
    • 🎃 在Student类中定义两个成员变量name和age,分别用来表示姓名和年龄。其中,name的数据类型为String,变量age的数据类型为int。
    • 🎃 在Student类中定义一个表示说话行为的speak()方法,用于输出学生的姓名和年龄。

💦1.2 案例一代码演示

  • 🍒🍒代码:

import java.util.Scanner;

//  定义学生类名
class Student

{
	// 在此定义2个成员变量:姓名name和年龄age
	private String name;
	private int age;

	public Student(){}

	public Student(String name,int age){
		this.name=name;
		this.age=age;
	}

	void speak() 
	{
		System.out.println("我的姓名:"+name+",年龄:"+age);
	}
}

public class Demo
{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);
		// 定义一个学生对象
		String name = scan.nextLine();
        int age = scan.nextInt();
		Student s=new Student(name,age);
		// 调用学生对象 speak() 方法
		s.speak();
		
	}
}

  • 🍒🍒结果:
    在这里插入图片描述

🐳案例二:同一对象被多个变量引用

第二个案例 加油啦!!!

💦1.1 案例二需求

  • 🍒🍒 案例需求:在程序中,一个对象可能在多处使用,这样就可能需要有多个变量来引用这个对象。
  • 🍒🍒 为了更好地掌握对象的创建和使用,本实训将创建三个学生对象,它们的引用变量分别是s1、s2和s3,首先分别使用s1和s2引用为name和age赋值,然后调用speak()方法,最后将s2变量赋值给s3,s3也调用speak()方法。
  • 🍒🍒案例分析:
    • 🌴 编写一个测试类
    • 🌴 在main()方法中,创建Student类的第一个对象,其引用变量为s1,使用s1调用name和age变量分别为它们赋值,然后调用speak()方法
    • 🌴 创建Student类的第二个对象,其引用变量为s2,使用s2分别为name和age赋值,然后调用speak()方法。
    • 🌴 创建Student类的第三个对象,其引用变量为s3,将s2的值赋给s3,然后使用s3调用speak()方法。

💦1.2 案例二代码演示

  • 🍒🍒代码:


import java.util.Scanner;

// 在此定义学生类名
class Student
{
	String name;
    String age;

	void speak()
	{
		System.out.println("我的名字是" + name + ",今年" + age + "岁");
	}
}

public class Demo
{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);

        Student s1=new Student();
        System.out.println("请输入第一个人姓名:");
        s1.name = scan.next();
        System.out.println("请输入第一个人年龄:");
        s1.age = scan.next();
		s1.speak();
       
		Student s2=new Student();
		System.out.println("请输入第二个人姓名:");
        s2.name = scan.next();
        System.out.println("请输入第二个人年龄:");
        s2.age = scan.next();
        s2.speak();

		Student s3=new Student();
        s3=s2;
        s3.speak();
	}
}


  • 🍒🍒结果:

在这里插入图片描述

🐳案例三:类的封装

第三个案例哦!!!!

💦1.1 案例三需求

  • 🍒🍒 案例需求:编写一个学生类,并根据要求对学生类进行封装。
  • 🍒🍒 需求分析
    • 🌴 对类进行封装,防止外界对类中的成员变量随意访问。
      为了掌握类的封装,本练习将使用private关键字对学生类的成员变量name和age进行私有化,同时分别提供一个setName(String n)和setAge(int a)方法用于外界的访问,其中setAge(int a)中需要对age进行判断。
  • 🍒🍒 案例分析:
    • 🌴 对Student类进行修改,将name和age属性使用private修饰,然后定义getName()、setName(String n)、getAge()和setAge(int a)四个对外访问name和age的方法。
    • 🌴 在setAge(int a)方法中对传入的参数进行检查,如果输入值为负数,则打印出“设置的年龄不合法”,如果不为负数,才将其设置为age属性的值。
    • 🌴 编写测试类,在main()方法中创建Student类的实例对象,通过调用对象的setName(String n)和setAge(int a)方法来设置示例对象的name属性和age属性值,并调用speak()方法。

💦1.2 案例三代码演示

  • 🍒🍒代码:
import java.util.Scanner;

class Student
{
	private String name;
	private int age;

	 public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
		if(age<0)
		{
			System.out.println("设置的年龄不合法");
		}
		else{
			this.age = age;
		}
        
    }	
	void speak() {
		System.out.println("我的名字是" + name + ",今年" + age + "岁");
	}
}

public class Demo{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		//创建Student类的实例对象,
		Student s=new Student();
		//通过调用对象的setName(String n)和setAge(int a)方法,来设置实例对象的name属性和age属性值,
		System.out.println("请输入姓名:");
        String name1 = scan.next();
        s.setName(name1);
        System.out.println("请输入年龄:");
        int age1 = scan.nextInt();
        s.setAge(age1);
        //调用speak()方法
        s.speak();
	}
}

  • 🍒🍒结果:

在这里插入图片描述

💻 结语

🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。