【详细+超基础】Java-学习笔记 06

这篇博客详细介绍了Java的面向对象编程思想,包括类与对象的概念、成员变量与局部变量的区别,以及如何创建和使用对象。通过洗衣机和洗衣服的例子对比,解释了面向过程与面向对象的区别。此外,还展示了如何定义和使用类,以及如何通过Scanner和Random类实现猜数字小游戏。文章最后提供了一个学生类的实例,进一步巩固面向对象编程的应用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

【详细+超基础】Java-学习笔记

Java学习笔记系列——孙不坚1208
【详细+超基础】Java-学习笔记 01
【详细+超基础】Java-学习笔记 02
【详细+超基础】Java-学习笔记 03
【详细+超基础】Java-学习笔记 04
【详细+超基础】Java-学习笔记 05
【详细+超基础】Java-学习笔记 06
【详细+超基础】Java-学习笔记 07
【详细+超基础】Java-学习笔记 08
【详细+超基础】Java-学习笔记 09
【详细+超基础】Java-学习笔记 10
【详细+超基础】Java-学习笔记 11

Java学习笔记系列持续更新中…

四、面向对象编程

面向对象的思想

Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。

举例我们去洗衣服:

面向过程:把衣服脱下来放在盆里–>放点洗衣粉、加点水–>浸泡10分钟–>揉一揉、清洗衣服–>拧干晾晒

面向对象:把衣服脱下来–>使用全自动洗衣机–>扔衣服–>按钮–>晾晒

类与对象

类的理解

类是对现实生活中一类具有共同属性和行为的事物的抽象

类是对象的数据类型,类是具有相同属性和行为的一组对象的集合

简单理解:类就是对现实事物的一种描述

类的组成

属性:指事物的特征,例如:手机(品牌,价格,处理器)

行为:指事物能执行的操作,例如:手机(打电话,发短信,上网)

类和对象的关系

类:类是对现实生活中一类具有共同属性和行为的事物的抽象

对象:是能够看得到摸的着的真实存在的实体,客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。

简单理解:类是对事物的一种描述,对象则为具体存在的事物

类的定义

类的组成是由属性和行为两部分组成

属性:在类中通过成员变量来体现(类中方法外的变量)

行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

类的定义步骤: ①定义类 ②编写类的成员变量 ③编写类的成员方法

代码:

  public class 类名 { 
 ​
 // 成员变量
 ​
 变量1的数据类型 变量1;
 ​
 变量2的数据类型 变量2; …
 ​
 // 成员方法 
 ​
 方法1; 方法2; 
 }
 ​
 ​
 ​
 public class Phone { 
 ​
 //成员变量 
 ​
     String brand;
 ​
     int price;
 ​
 //成员方法 
 ​
     public void call() {
         System.out.println("打电话"); 
         } 
 ​
     public void sendMessage() { 
         System.out.println("发短信"); 
         }
 }

对象的使用

创建对象的格式:

类名 对象名 = new 类名 ( );

调用成员的格式:

对象名.成员变量

对象名.成员方法();

代码:

 /* 创建对象 
 格式:类名 对象名 = new 类名(); 
 范例:Phone p = new Phone(); 
 ​
 使用对象 
 1:使用成员变量 
 格式:对象名.变量名 范例:p.brand
 2:使用成员方法 格式:对象名.方法名() 范例:p.call() `
 */ 
 ​
 ​
 public class PhoneDemo { 
     public static void main(String[] args) { 
 //创建对象 
     Phone p = new Phone(); 
 //使用成员变量 
     p.brand = "小米"; 
     p.price = 1999; 
         System.out.println(p.brand); 
         System.out.println(p.price); 
 //使用成员方法
     p.call(); 
     p.sendMessage(); 
     }
 }

练习:学生对象

需求:首先定义一个学生类,然后定义一个学生测试类, 成员变量:姓名,年龄;成员方法:学习,做作业… 在学生测试类中通过对象完成成员变量和成员方法 的使用

代码:

 class Student { 
 //成员变量 
     String name; 
     int age; 
 //成员方法 
     public void study() { 
         System.out.println("好好学习,天天向上"); 
         }
     public void doHomework() { 
         System.out.println("键盘敲烂,月薪过万"); 
         }  
 } 
 ​
 ​
 // 学生测试类  
 ​
 public class StudentDemo {
     public static void main(String[] args) { 
 //创建对象 
     Student s = new Student(); 
 //使用对象
     s.name = "孙不坚"; 
     s.age = 18;
          System.out.println(s.name + "," + s.age); 
     s.study(); 
     s.doHomework(); 
     } 
 }

导包:指出需要使用的类在什么位置。

import 包名称.类名称;

import demo01.Student;

对于和当前类属于同一个包下的情况,可以省略导包语句不写。

成员变量和局部变量

类中位置不同:

成员变量(类中方法外) 局部变量(方法内部或方法声明上)

内存中位置不同: 成员变量(堆内存) 局部变量(栈内存)

作用范围不同: 成员变量(整个类中) 局部变量(在方法中)

生命周期不同:

成员变量(随着对象的存在而存在,随着对象的消失而消失) 局部变量(随着方法的调用而 存在,醉着方法的调用
完毕而消失)

初始化值不同: 成员变量(有默认初始化值) 局部变量(没有默认初始化值,必须先定义, 赋值才能使用)

猜数字小游戏

一、Scanner

1.导包(idea自动导包)import java.util.Scanner;

2.创建

类名称 对像名 = new 类名称();

Scanner sc =new Scanner(System.in);

System.in代表从键盘进行输入

3.使用

对象名.成员方法名()

获取键盘输入的一个int数字:int num =sc.nextInt();

获取键盘上输入的一个字符串:String str=sc.next();

二、Random

1.导包(idea自动导包) import java.utilRanom( )

2.创建

类名称 对像名 = new 类名称();

Random r=new Random();

3.使用

获取一个随机int数字(范围是int所有范围,有正负两种):int num=r.nextInt( )

获取一个随机int数字(参数代表了范围,左闭右开区间):int num=r.nextInt(a) //代表着生成[0,a)内的随机数

代码如下:

package 小练习;

import java.util.Random;

public class random01 {
public static void main(String[] args) {
        Random r =new Random();
        int num=r.nextInt();
        System.out.println("随机数是"+num);
    }
}
package 随机点名;

import java.util.Random;

public class random01 {
    public static void main(String[] args) {
        Random r =new Random();
        int num=r.nextInt(5);
        String [] name =new String[]{"吕布", "关羽", "张飞", "赵云", "孙不坚"};
        System.out.println("出战武将是"+name[num]);
    }
}

三、猜数字小游戏

思路:

1.首先需要产生一个随机数字,并且一旦产生不再变化,用Random的nextInt方法

2.需要我们键盘输入数字,用到了Sanner的nextInt方法

3.判断两数字的大小关系 进行反馈

代码如下:

package 小练习;
import java.util.Random;
import java.util.Scanner;

public class caishuzi{
    public static void main(String[] args) {
        	Random r = new Random();
        int randomNUM = r.nextInt(100) + 1;
        	Scanner sc = new Scanner(System.in);
        while (true){
            		System.out.println("请你输入你猜测的数字:");
            		int guessNUM = sc.nextInt();//你猜测的数字
            	if (guessNUM > randomNUM) {
                	System.out.println("太大了,请重试");
             	} 
            	else if (guessNUM < randomNUM) {
                	System.out.println("太小了,请重试");
               	} 
           		else {
                 	System.out.println("恭喜你,答对了");
                 	break;
           		}
       }
    }
}

欢迎订阅专栏 请你喝杯java , 希望能给需要帮助的朋友带来方便,同时也希望能得到各位大佬的建议。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

請你喝杯Java

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值