IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java零基础6--面向对象的编程(2) -> 正文阅读

[Java知识库]java零基础6--面向对象的编程(2)

封装

封装的概念与作用

面向对象的三大特性中,有了封装才有继承,有了继承后才有多态。
那么封装有什么作用呢?
封装在代码层面的作用:
一个类体当中的代码数据,封装之后,对于调用人员来说,不需要关心代码的复杂实现,只需要
通过一个简单的入口就可以访问了,另外,类体中安全级别较高的数据封装起来,外部人员不能
随便访问,来保证数据的安全性。

封装的代码实现

实现封装的主要步骤有两步:
一、属性私有化:即类中的成员变量用private修饰,表示该数据只能在本类中访问
二、提供对外的简单访问接口:set和get方法
下面通过一个简单的例子来理解封装

首先定义一个person类,成员变量为age

public class person 
{
	private int age;
	//private表示私有的,被这个关键字修饰之后,该数据只能在本类中访问。
	//出了这个类,age属性就无法访问了,私有的

	//提供对外的简单入口,就相当于一个遥控器
	//外部程序只能通过调用以下的代码来完成访问
	//写一个方法专门完成读(get)
	//写一个方法专门完成写(set)

	public int getAge(){
		return age;
	}

	public void setAge(int nianling){
		if (nianling<0||nianling>150)
		{
			System.out.println("对不起输入不合法");
			return;
		}//通过封装来控制改变的数据的安全性
		age = nianling;
	}
}

接下来演示在另一个程序中访问该类的方法

public class persontext
{
	public static void main (String[] args){
		person s1 = new person ();
		//经过我们的封装后,就不能通过s1.age来访问s1中的age成员了
		System.out.println(s1.getAge());//0
		s1.setAge(20);//通过set方法对age进行修改
		System.out.println(s1.getAge());//20
	}
}

set和get的一些注意事项

1.标准格式:
set:
public void set+属性名首字母大写(1个参数){
xxx=参数;
}
get:
public 返回值类型 get+属性名首字母大写(无参){
return xxx;
}
2.set和get有什么用?
当代码封装以后,外部只能通过set和get来读取一个对象中的数据,我们可以在set或get中来设立关卡,就可以防止外部对重要数据的随意读取和随意更改。

static关键字

1.static翻译为静态的
2.所有static修饰的都是类级别的
3.所有static修饰的都由“类名.”的方式访问,不需要new对象,同一个类中可省略
4.没有用static修饰的实例,访问时要用“对象.”,需要new对象
5.static修饰的变量:静态变量
6.static修饰的方法:静态方法

什么时候把变量用static修饰

首先我们先明确一下变量的储存位置(方法同)
1.静态变量:存储在方法区,且先加载
2.局部变量:储存在栈内存
3.实例变量:储存在堆内存
那么我们什么时候用static修饰呢?
如果这个类型的某个属性都是一样的,不建议定义为实例,以用来节省空间

接下来我们看一个例子:

class chinese
{
	//每一个人的身份证号不同,所以身份证号应该是实例变量
	long idCard;
	//同身份证号码,也是实例变量
	String name;

	//对于中国人这个类来说,国籍都是“中国”,显然不是对象级别的变量
	//重点:加有static的变量叫静态变量,静态变量在类加载时初始化,不需要new对象
	//所有有该类创建的对象国籍均为中国
	static String country="中国";

	//无参数
	public chinese(){
	}

	//有参数
	public chinese (long id,String xingMing){
		idCard=id;
		name=xingMing;
	}
}

什么时候用static修饰方法

方法和变量其实是一样的,在一个类中定义的方法,若没有用static修饰,就称作实例方法,需要通过new对象来访问,若用static修饰,表示 该类定义的所有对象都会有此方法,直接“类名.”即可访问。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:43:52  更:2021-11-26 08:45:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:32:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码