java基础语法学习(复习)day3

今日学习总结

1、引用数据类型_类
2、自定义类的格式
3、类的内存图
4、成员变量与局部变量
5、封装
6、private关键字
7、get and set方法
8、this关键字
9、构造方法
10、API概述
11、String
12、字符串的比较

1、引用数据类型_类

* A: 数据类型
	* a: java中的数据类型分为:基本类型和引用类型
* B: 引用类型的分类
	* a: Java为我们提供好的类,比如说:Scanner,Random等。
	* b: 我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用。 

2、自定义类的格式

* A: 自定义类的格式
	* a: 使用类的形式,对现实中的事物进行描述。
	* b: 事物由方法和属性两部分组成。
		* 方法: 这个事物具备的功能。
		* 属性: 这个事物具备的特征。
	* c: 格式
		public class 类名{
			属性定义
			  修饰符 数据类型 变量名 = 值
			
			方法定义
			  修饰符 返回值类型  方法名(参数列表){
				  
			  }
		}

3、类的内存图

通过类Phone创建出来的变量p,它相当于我们生活中的盒子,里面包含了它能够使用的属性。
	通过 p.属性名 就可以对属性进行操作
	与引用类型数组类似,引用类型的自定义类型的变量,直接变量时,结果为对象地址值,这里可以通过内存图简单解释。

在这里插入图片描述

4、成员变量与局部变量

在这里插入图片描述

5、封装

* A.面向对象三大特征
	* 封装、继承、多态
* B.封装表现
	* 1、方法就是一个最基本封装体
	* 2、类其实也是一个封装体	
* C.封装的好处
	* 1、提高了代码的复用性
	* 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念
	* 3、提高了安全性	

6、private关键字

* A.private概述
	* private可以修饰成员内容包括成员方法和成员变量
	* 被private修饰的内容不能在其他类访问
* B.使用步骤
	* 1、通过private修饰属性
* C.完整代码 
	class Person {
		private int age;
		private String name;
	
		public void show() {
			System.out.println("age=" + age + ",name" + name);
		}
	}

7、get and set方法

* A.get和set方法
	* 年龄已被私有,错误的值无法赋值,可是正确的值也赋值不了,这样还是不行,那肿么办呢?按照之前所学习的封装的原理,隐藏后,还需要提供访问方式。只要对外提供可以访问的方法,让其他程序访问这些方法。同时在方法中可以对数据进行验证。
一般对成员属性的访问动作:赋值(设置 set),取值(获取 get),因此对私有的变量访问的方式可以提供对应的 setXxx或者getXxx的方法。
	class Person {
		// 私有成员变量
		private int age;
		private String name;
	
		// 对外提供设置成员变量的方法
		public void setAge(int a) {
			// 由于是设置成员变量的值,这里可以加入数据的验证
			if (a < 0 || a > 130) {
				System.out.println(a + "不符合年龄的数据范围");
				return;
			}
			age = a; 
		}
	
		// 对外提供访问成员变量的方法
		public void getAge() {
			return age;
		}
	}
	* 总结
		* 类中不需要对外提供的内容都私有化,包括属性和方法。
		* 以后再描述事物,属性都私有化,并提供setXxx getXxx方法对其进行访问
	* 注意
		* 私有仅仅是封装的体现形式而已

8、this关键字

* A.this修饰成员变量
	* 当类中存在成员变量和局部变量同名的时候为了区分,就需要使用this关键字
* B.代码示例
	class Person {
		private int age;
		private String name;
		public void speak() {
			this.name = "小强";
			this.age = 18;
			System.out.println("name=" + this.name + ",age=" + this.age);
		}
* C.作用
		解决局部变量和成员变量重名时,局部变量隐藏成员变量的问题

在这里插入图片描述

9、构造方法

*A .作用
		创建对象
*B .格式
		public class 类名{
				修饰符 类名(参数){
				}
	  }
*C .功能
		主要是完成对象数据的初始化
*D .构造方法的注意事项
		*a.构造方法的创建
			*如果没有定义构造方法,系统将给出一个默认的无参数构造方法
			*如果定义了构造方法,系统将不再提供默认构造方法
		*b.构造方法的重载
			*如果定义了带参数的构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法	

10、API概述

API(Application Programming Interface)应用程序编程接口
Java API:指的就是JDK中提供的各种Java类

11、String

1.String类在java.lang包下,所以使用时不需要导包
2.String类代表字符串。Java程序中所有双引号字符串,都是String类对象
3.字符串特点:
	*字符串不可变,它们的值在创建后不能被更改
	*虽然String的值不可变,但是它们可以被共享
	*字符串效果上相当于字符数组(char[ ]),但底层原理是字节数组(byte[ ])
	 ps:JDK8及以前是字符数组,JDK9以后是字节数组
4.String构造方法
	*public String();创建一个空白字符串对象,不包含任何内容
		例: String s1 = new String();
	*public String(char[ ] chs);根据字符数组,创建字符串对象
		例: char[ ] chs = {‘a’,‘b’,‘b’}
				String s2 = new String(chs)
	*public String  (byte[ ]  bys);根据字节数组,创建字符串对象
		例: byte[ ] bys = {97,98,99}
				String s3 = new String(bys)
	*String s = "abc"
5.Srting对象特点
	*a.通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同
	*b.以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护			

内存图:
在这里插入图片描述

12、字符串的比较

*A .用 == 作比较
	*a.基本类型:比较的是数据值是否相同
	*b.引用类型:比较的是地址值是否相同
*B.字符串是对象,它比较内容是否相同,通过equals()方法实现
	*a.public boolean equals(Object anObject) :将此字符串与指定对象进行比较。由于我们比较的是字符串对象,所以参数直接传递一个字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值