类和对象的学习

2023-11-01

类和对象的学习。

1、 什么是类?

class 就是声明一个类。
概念:一类事物的总体描述,及该事物包含方法的总称。
	属性: 描述这个事物的
	方法: 这个事物特有的行为。
	
	
定义一个学生类:
	属性:
		名字
		年龄
		性别
	方法: 
		吃饭
		睡觉
		学习
		打游戏

2、封装一个学生类。

	定义一个学生类:class Student
		属性:
			名字	String name;
			年龄	int age;
			性别    char sex;
		方法: 
			吃饭	eat();
			睡觉	sleep();
			学习	study();
			打游戏  playGame();

	代码实现,封装一个学生类:
		
		class Student{
			String name;
			int age;
			char sex;
			
			public void eat(){
				System.out.println("学生会吃饭");				
			}	

			public void sleep(){
				System.out.println("学生会睡觉");
			}
			
			public void study(){
				System.out.println("学生会学习");
			}
			
			public void playGame(){
				System.out.println("学生不会打游戏");
			}					
		}

3、权限修饰词的学习。

	public	公共的		
			被public 修饰的东西,同一个项目中,所有包下面的类,都能够调用访问。
	
	private	私有的
			被private 修饰的东西,只能在本类中 调用访问。
	
	protect 受保护的
			被protect 修饰的东西,受保护的,只能在同一包名下,被调用访问。
	
	static
			被static 修饰的东西,随着类的加载而加载。
			最先加载到内存,随时准备着,被使用。
			
			变量,方法,都可以被static 修饰。
			静态代码块:
			static{
				类加载的时候就自动执行的代码。可以放在我们定义个静态代码快中。
				优先加载,创建,执行。等等操作。					
			}

4、局部变量和成员变量的区别。

	成员变量	: 
			(1)定义的位置:类中,方法外。一般定义在最上面。
			(2)作用域 :所有的类中成员,都可以共用该 成员变量。
			(3)初始化区别: 成员变量,可以先声明,不赋值,使用的时候在初始化赋值。
	
	
	局部变量	:
			(1)定义的位置 :定义在方法中,或者方法上。
			(2)作用域 :只有方法内部,才能用,出了方法用不了。
			(3)初始化区别: 局部变量,声明的时候必须初始化,否则不能用。

5、创建一个学生类的对象,然后进行使用。

	之前定义了学生类,那么学生类怎么用?
	
	创建一个具体的对象,来调用该对象所在类中方法。
	
	(1)创建对象格式:
		类的类型  对象名称 = new 类的类型();

	(2) 给学生类的属性赋值。
		 对象名称.属性名 = 具体的值。
		 
	(3)调用对象 包含的方法,执行一系列操作。
		对象名称.方法名();

6、在java思想里面,有封装的概念。就是把事物封装成一个类。

	特点: 
		隐藏实现细节(private),
		对外提供,公共的访问方式(public)。

	Student 类中,那些数据不想让人访问。要实现那些细节的隐藏。
				哪些东西,对外可以提供公共访问方式?
				
	给student 类添加公共的访问方式。
		通过set 和get 方法,来操作类中私有的属性。
					
		set 方法	: 设置该类的属性值。
			public void setName(String name){
				this.name = name;
			}
				
			注意: 在方法中,如何调用当前类中成员位置的属性。
					用 this.属性名    来调用。
					
					    this代表的是当前类的对象。
		
		get 方法	: 获取该类的属性值。
		
			例如: 通过getName 方法调用,拿到对象的名字。
			public String getName(){
				return  name;
			}

	
		注意: 变量访问,有优先级问题。
				从小的范围往大的范围找。
				(就近原则)

7、 类的封装,对象的创建练习。

需求: 
	创建一个手机类 Phone
	
		属性: (全部私有private)
			品牌:brand
			价格:price	

			
		方法:(全部公开 public)
			对应属性的get set  方法。
			
			打电话: call()
			发短信: sendMessage()
			玩游戏: playGame()

具体代码:

========手机类========
	
	/**
	 * 
	 *类的封装,对象的创建练习。
		需求: 
			创建一个手机类 Phone
		
			属性: (全部私有private)
				品牌:brand
				价格:price	

			
		方法:(全部公开 public)
			对应属性的get set  方法。
			
			打电话: call()
			发短信: sendMessage()
			玩游戏: playGame()
	*/
	public class Phone {
		
		private String brand;	//声明手机的品牌属性。
		private int price;		//声明手机的价格属性。
		
		/**
		 *  手机品牌属性,设置方法。
		 */
		public void setBrand(String brand){
			this.brand = brand;
		}
		/**
		 *  手机品牌属性,获取方法。
		 */
		public String getBrand(){
			return brand;
		}
		
		/**
		 *  手机价格属性,设置方法。
		 */
		public void setPrice(int price){
			this.price =  price;
		}
		/**
		 *  手机价格属性,获取方法。
		 */
		public int getPrice(){
			return price;
		}
		
		public void call(){
			System.out.println(brand + "具有打电话的功能!");
		}
		public void sendMessage(){
			System.out.println(brand + "具有发短信的功能!");
		}
		public void playGame(){
			System.out.println(brand + "具有玩游戏的功能!");
		}
		

	}

========手机类的测试类。========

	public class Test02_Phone {
		public static void main(String[] args) {
			//1、创建 手机类的 具体的对象。
			Phone p = new Phone();
			
			//设置手机对象的,品牌和价格。
			p.setBrand("华为Pro30");
			p.setPrice(4999);
			
			System.out.println(p.getBrand()+"----"+p.getPrice());
			p.call();
			p.sendMessage();
			p.playGame();
		}
	}

8、 类的封装中的,toString 方法。

 返回 所有类中,定义的属性 对应的值。
 
	/**
	 * 通过调用这个放,想要输出打印所有的属性 值 
	 */
	public String toString(){
		String print_phone = "该手机品牌为:" + brand +"\n该手机的价格为:"+price; 
		return print_phone;
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类和对象的学习 的相关文章

随机推荐

  • 各个硬件的工作原理

    前情回顾 主存储器的基本组成 存储体 用于存放数据的东西 由一系列的存储元件构成 可以存放二进制的 0 和 1 运算器的基本组成 控制器的基本组成 计算机的工作过程 案例分析 执行指令0 执行指令1 执行指令2 执行指令3 执行指令4 总结
  • Pytorch 提取权重等参数 写入Excel

    Pytorch 提取权重等参数 写入Excel表 标签 Pytorch Topic 网络参数导出 时间 2022 5 27 写在最前 最近有在做量化相关的东西 不确定是不是我这边没设置好怎么 量化后只给出了相应层的s z值 这里就需要将网络
  • JavaWeb-Filter过滤器

    Filter过滤器是JavaWeb的三大组件之一 Filter过滤器是JavaEE的规范也就是接口 Filter的作用是拦截请求 过滤响应 拦截请求常见的应用场景 权限检查 日志操作 事务管理等等 Filter过滤器的基本使用 例如权限检查
  • Activity沉浸式

    沉浸式依赖 implementation com gyf immersionbar immersionbar 2 3 3 beta05 ImmersionBar with this transparentStatusBar 透明状态栏 不写
  • go 源码分析string、[]byte的相互转换

    string 简单的来说字符串是一系列8位字节的集合 通常但不一定代表UTF 8编码的文本 字符串可以为空 但不能为nil 而且字符串的值是不能改变的 不同的语言字符串有不同的实现 在go的源码中src runtime string gos
  • 怎么阅读源码【调试观察源码】

    读源码需要掌握的编译器知识 编译器为eclipse为例子 调试准备工作 步骤 Window gt Show View 打开调试断点Breakpoint 打开变量监视 要看一个方法的内部细节 按f5 进入 要快速跳到某个位置 在目标位置上打个
  • 【蓝桥杯嵌入式最全备考资料】真题、代码、原理图、指导手册、资源包等

    目录 前言 公众号回复 蓝桥杯 获取全部资料 欢迎大家过来关注一起玩呀 一 蓝桥杯嵌入式省赛个人总结的模板流程 十四届模拟试题 详解 超详细 二 第六 十四届省 国赛真题 主观题 客观题 三 蓝桥杯 全国软件和信息技术专业人才大赛实训指导书
  • C#中this的 四种 用法

    C 中的this用法 相信大家应该有用过 但你用过几种 以下是个人总结的this几种用法 欢迎大家拍砖 废话少说 直接列出用法及相关代码 this用法1 限定被相似的名称隐藏的成员
  • WIN10与VMware中的Ubuntu20.04.3系统文件共享(可视化界面居多、无脚本)

    1 在WIN10本地创建一个用于共享的文件夹 2 安装VMware Tools并完成配置 3 开启 共享文件夹
  • 我用了两年时间去读《Thinking in Java》

    路漫漫其修远兮 吾将上下而求索 题记 我用了两年时间去读 Thinking in Java 无论在学校还是在工作 都能听到过来人说 Java编程思想是一本经典著作 于是乎在工作以后 我就买了一本来看看 后来呢 在这断断续续两年时间 精读略读
  • 域名反查、权重查询以及ICP备案查询——ipInfoSearch

    域名反查 权重查询以及ICP备案查询 ipInfoSearch ipInfoSearch 一 配置需要python三方包 二 基本用法 三 多线程用法 文中工具已上传至github https github com Potato py ip
  • 时域和空域和频域

    傅立叶变换是f t 乘以正弦项的展开 正弦项的频率由u 其实是miu 的值决定 因为积分后左边剩下的为一变量是频率 所以我们说傅立叶变换域是频率域 数字图像处理 冈萨雷斯 中文第三版P128 当变量t用于说明图像时 我们一般将变量t的域称为
  • [Python人工智能] 四.神经网络和深度学习入门知识

    从本篇文章开始 作者正式开始研究Python深度学习 神经网络及人工智能相关知识 前三篇文章讲解了神经网络基础概念 Theano库的安装过程及基础用法 theano实现回归神经网络 theano实现分类神经网络 这篇文章又回到基础知识 结合
  • Chromedriver安装教程【无需翻墙】

    第一步 查看你当前Chrome浏览器的版本 如下图所示 第二步 查看当前Chrome浏览器的版本号 如下图所示 版本 108 0 5359 125 正式版本 64 位 中的 108就是我们的版本号 第三步 到谷歌驱动下载地址 https n
  • spring全家桶

    目录 一 Spring基础 1 Spring的核心模块 2 Spring中用到的设计模式 3 Spring SpringMVC SpringBoot SpringCloud 二 SpringIOC 1 IOC的理解 2 Spring中的循环
  • java基础

    java简介 Java是一门面向对象的编程语言 不仅吸收了C 语言的各种优点 还摒弃了C 里难以理解的多继承 指针等概念 因此Java语言具有功能强大和简单易用两个特征 Java语言作为静态面向对象编程语言的代表 极好地实现了面向对象理论
  • psql的使用与常用参数

    使用psql时默认使用安装数据库时的用户登录 端口默认5432 默认连接数据库是用户名db 使用默认用户登录时是超级用户 不需要密码 但是第一次登录会因为未创建该用户名的数据库而登录失败 首次登录需要手动创建用户名数据库或者选择默认的pos
  • Linux中source命令的用法

    source命令 source命令也称为 点命令 也就是一个点符号 source命令通常用于重新执行刚修改的初始化文件 使之立即生效 而不必注销并重新登录 用法 source filename 或 filename source命令除了上述
  • BUUCTF 之 [ACTF2020 新生赛]Exec(命令执行漏洞)

    BUUCTF 之 ACTF2020 新生赛 Exec 命令执行漏洞 相关 观察 进攻 相关 项目 内容 难度 简单 类型 WEB 靶场 BUUCTF 坐标 Exec 观察 这界面和这网页标题结合起来 相信给位都能猜到这个靶场中很有可能存在命
  • 类和对象的学习

    类和对象的学习 1 什么是类 class 就是声明一个类 概念 一类事物的总体描述 及该事物包含方法的总称 属性 描述这个事物的 方法 这个事物特有的行为 定义一个学生类 属性 名字 年龄 性别 方法 吃饭 睡觉 学习 打游戏 2 封装一个