面向对象———封装,包,访问修饰符,static关键字

全国充电站分布数据 CnOpenData推出的充电站数据覆盖全国34个省份的3万条数据,包含充电站名称、省份名称、省份代码、商圈、经纬度等地理信息以及商业类型、评分、消费等衍生信息,能为城市规划、环境科学、市场分析、技术发展和社会经济研究等多个领域提供宝贵的数据支持。 阅读详情

一、封装概念

封装实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类的方法来实现对隐藏信息的操作和访问。

理解:封装就是将类内部的属性私有化,不允许外部直接访问,然后通过对应的get,set方法来实现对隐藏信息的操作!

封装好处:隐藏类的实现细节,限制不合理操作!

2.实现封装的步骤:

  • 修改属性的可见性
  • 设置get set方法
  • 设置属性的存取限制

代码如下:

//人类
public class Person {
	public String name;			//姓名
	public int age;				//年龄
	public String gender;		//性别
	
	//封装属性
	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||age>150) {
			System.out.println("****输入的年龄为:"+age+",该年龄不合法,将重置....");
			return;
		}
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		if(gender.equals("男")||gender.equals("女")) {			//判断是否输入的男或者女
			this.gender=gender;
		}else {
			System.out.println("*****性别不合法*****");
		}
	}
	
	//构造方法
	public Person() {
		this.name="无名氏";
		this.age=18;
		this.gender="男";
	}
	//有参构造
	public Person(String name,int age, String gender) {
		this.name=name;
		this.age=age;
		this.gender=gender;
	}
	
	//自我介绍方法
	public void say() {
		System.out.println("自我介绍一下:");
		System.out.println("姓名:"+this.name);
		System.out.println("性别:"+this.gender);
		System.out.println("年龄:"+this.age);
	} 
	
}

//测试类
 public class Test {
	 public static void main(String[] args) {
		Person person=new Person();			//实例化对象
		person.setAge(220);					//给年龄赋值
		person.setGender("中性");			//给性别赋值 
		person.setName("刘明");				//给姓名赋值
		person.say();						//调用方法,输出
	}
 }

输出结果:

二、包

1.使用包的步骤

  • 新建包
  • 将定义好的包分别放入不同的类中
  • 导入包

2.包的作用:

  • 便于管理

  • 防止命名冲突(主要是类名)

  • 限制访问权限

3.包的定义

  • package是声明包的关键字
  • 包的声明必须是java源文件中的第一条非注释性语句,而且一个源文件只能有一个声明包的语句
  • 包的使用规范:包名前缀小写,不能以圆点开头或者结尾,不能包含除   " . "  外的其他特殊符号!

三、类和类的访问修饰符

1.类的访问修饰符

java中类的访问修饰符

修饰符

同一个包中

非同一包中

public

可以使用

可以使用

默认修饰符

可以使用

不可以使用

 

2.类成员的访问修饰符

Java类成员的访问修饰符

修饰符

同一类中

同一包中

子类中

其他地方

private

可以使用

不可以使用

不可以使用

不可以使用

默认修饰符

可以使用

可以使用

不可以使用

不可以使用

protected

可以使用

可以使用

可以使用

不可以使用

public

可以使用

可以使用

可以使用

可以使用

四、static关键字

1.用static关键字修饰属性

用static修饰的属性称为静态变量或者类变量,没有使用static修饰的属性叫做实例变量

2.用static关键字修饰方法

用static修饰的方法叫做静态方法,没有使用static修饰的方法叫做实例方法。

注意:

  • 静态方法/属性,不属于具体的对象,被调用时可以直接  类名.属性/方法名  调用。

  • 在静态方法/变量中不能直接访问非静态(实例)方法/变量

  • 在实例方法/变量中可以直接调用类中定义的静态方法/变量

 

AUTOSAR系统服务篇 - BswM的使用 本文档是对4.0.3版及更高版本的AUTOSAR模式管理应用的介绍。其主要目的是为AUTOSAR的用户和开发人员提供基于示例的AUTOSAR模式管理不同方面的详细概述,这些示例在文中进行了解释。本文中的代码清单共同构成了示例ECU的配置。第2章解释了基础的模式管理概念,例如一般的模式、如何实现模式切换、模式管理者和模式用户的角色等。其次介绍了应用模式管理和基础软件模式管理的依赖关系,两者密切相关。基础软件模式管理器是AUTOSAR R4.0中的中央模式管理模块。它具有很高的可配置性。 阅读详情

相关推荐

ANSYS HFSS 中的相控天线阵列仿真方法

相控天线阵列系统广泛使用,从国防雷达应用到商业 5G 应用。设计这些天线阵列涉及复杂的数学运算,需要全波仿真。Ansys HFSS 全场 3D 电磁仿真软件可以在合理的时间内以较低的计算成本仿真复杂的相控阵天线系统,同时考虑复杂激励、环境(即附近的天线)和平台对其性能的影响。本博客介绍了可用于有效仿真相控天线阵列的不同方法。以下是不同仿真方法的简要概述,视频链接中提供了完整的演示。ANSYS HFSS 提供 4 种不同的相控天线阵列仿真方法:1) 晶胞-无限阵列。

jkh920184196的博客 4251

static的特别用法:静态导包

平时使用导入类的时候是:import ....,静态导包格式为import  static ...     静态导包为jdk1.5的新特性,之前的版本不支持 写java类的时候通常需要导入需要的包,例如“import java.util.ArrayList”。实际上也可以不导包而在使用的使用直接写上类的完整路径,如“java.util.ArrayList al = new java.util....

qq_39719883的博客 637

LCD、LED、OLED、Mini LED、Micro LED、全阵列LED、QLED、QD-OLED、QNED、AMOLED是什么意思?

LCD(液晶显示器,Liquid Crystal Display)定义:LCD 是一种利用液晶材料控制光线通过的显示技术,需依靠背光源(如冷阴极荧光灯 CCFL 或 LED)照亮液晶层以形成图像。技术原理:液晶分子在电场作用下改变排列,控制背光通过的强度和颜色。液晶本身不发光,需外部光源。特点:结构包括背光层、液晶层、彩色滤光片和偏光片。响应时间较慢,黑色表现因背光漏光而偏灰。LED(发光二极管显示,Light Emitting Diode)定义。

中国最威武的城市!武功军威-武威,铁骨铮铮! 3424

static特别用法【静态导包】——Java包的静态导入

面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热衷研究技术。 于是乎查找资料如下:  静态导包就是Java包的静态导入,用import static代替import静态导入包是JDK1.5中的新特性。 一般我们导入一个

优秀并不晚 3490

手把手教你用DLP4500和海康相机搭建双目结构光系统(附完整代码获取路径)

本文详细介绍了如何利用DLP4500投影仪和海康工业相机搭建低成本双目结构光三维测量系统。从硬件选型、软件配置到结构光编码解码实现,再到三维重建全流程,提供了完整的实战指南和优化技巧,帮助用户以不到2万元的预算实现0.05mm精度的三维扫描。

weixin_32447969的博客 316

晶体管的 栅极gate 材料选用 多晶硅polysilicon,并采用 自对准工艺 self-aligned IC后端版图 【VLSI】

本文为了解决为什么要使用多晶硅作栅极触点的问题,先介绍了MOS管的工作原理是通过栅极上所加的电压控制漏极与源极之间电流,然后解释了栅极的材料为什么选用多晶硅,然后介绍了晶体管里栅极的自对准工艺(Self-Aligned Gate )。

Jie_MSD的博客 1万+

static修饰符用法

文章目录一、修饰字段或方法1.修饰字段2.修饰方法二、修饰代码块三、静态导入包四、构造静态内部类 在Java中,static修饰符是比较重要的知识点,也是Java工程师面试时,问的比较多的问题。因此,对static修饰符知识点的学习及整理,还是很有必要的。 static修饰符总的来说有四种作用:修饰字段或方法、修饰代码块、静态导入包、构造静态内部类。 一、修饰字段或方法 1.修饰字段 当使用static修饰字段时,那么该字段就为静态字段,在每个类中只有一个这样的字段。而其他非静态的字段,在每个对象中都有自己

Levi_moon的博客 3305

2026年全国青少年信息素养大赛算法应用主题赛C++样题及答案解析

2026年全国青少年信息素养大赛算法应用主题赛C++样题

王老师青少年编程 3716

关键字封装

#!/usr/bin/python3 # -*- coding: utf-8 -*- # Name: basepage # Author: 简 # Time: 2019/6/18 from app_framework.Common import log from selenium.webdriver.support.wait import WebDriverWai...

diaku3608的博客 661

Keil uVision5 STM32 startup_stm32f10x_md_vl.s error A3906U Malformed via file target not created..

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 2773

Coffin-Manson模型的详细讲解

Coffin-Manson模型是一个简单而强大的工具,用于预测低循环疲劳寿命,尤其在半导体功率循环中评估热机械可靠性。其核心是通过应变(或温度变化)与循环次数的对数关系,实现加速测试和寿命外推。尽管有局限性,通过改进版本(如加入激活能),它在电子封装、焊点疲劳和器件设计中仍广泛应用。实际使用时,建议结合实验数据拟合参数,并验证模型预测。如果需要特定材料的参数值、代码实现或进一步计算示例,请提供更多细节!

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 2149

Java面向对象基础知识(封装、this关键字、static关键字和代码块)

Java面向对象基础知识(封装、this关键字、static关键字) 一、封装 ​ 封装,顾名思义,目的是不让外界看到。因为,一些类的某些属性可能是遵循某一规律的,并不能任意修改。就比方说,Person这个类,里面有age属性,并且大家都知道一个人的age是不能被随意设置的,例如不能改成负数,这是逻辑错误。因此为了防止外界可以随意更改这个属性,我们将其封装,封装的方法是利用private方法,被这个修饰的属性,只能在这个类内被使用,在这个类之外的地方则无法被访问和修改。除了加private关键字修饰,我们也

生命中有太多不确定 489

Tesla v100 4张显卡组装机安装vllm和ollama在Ubuntu系统上的安装---AI大模型系统从零开始0032

本文提供Ubuntu22.04系统下vLLM的完整安装指南,适配4×32G Tesla显卡的单机4卡张量并行部署。教程包含:1)硬件要求(Ubuntu22.04、NVIDIA驱动≥535、CUDA12.1+);2)NVIDIA驱动自动安装方法;3)Python3.10虚拟环境配置;4)vLLM官方预编译包一键安装;5)单机4卡启动Qwen3.6-27B模型的完整参数说明(含FP8量化、多进程并行等关键配置)。文末附分布式部署的Ray集群方案参考链接,适用于多机8卡场景。

添柴程序猿的专栏 177

8.封装、修饰符

default:默认的,不写任何修饰符,就表示默认的,同包下的类可以访问。protected:受保护的,同包下的类,不同包下的子类可以访问。将来如果某个类的属性,实例化对象后,属性值都是相同的常量值的话,3.static修饰代码块,称为静态代码块,随着类的加载而加载,1.static修饰成员变量,成为类属性,随着类的加载而加载,将来如果有属性的初始化操作,可以通过静态代码块完成属性的初始化。2.static修饰成员方法,就是类方法,随着类加载而加载,static表示静态的,修饰的内容,随着类的加载而加载。

weixin_50975714的博客 1002

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

封装介绍。

封装 上节回顾 方法和方法重载 方法语法: 访问修饰符 特殊修饰符 返回值类型 方法名(形式参数列表){ // 方法体 [return xxx;] } 分类: 无参无返(**场景:**往往是很简单想复用一段代码 没有什么具体的参数接入和值的返回) public void print(){ } 无参有返(**场景:**往往是不需要你关注具体的底层实现,只需...

weixin_44637905的博客 261

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java的面向对象基础(1) —— 封装

java的面向对象基础(1) —— 封装

weixin_50546241的博客 1129

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java面向对象(1) —— 封装

将字段(C结构体中的属性)和方法(C结构体中的函数)包装进类中,加上具体实现的隐藏(访问修饰符),共同被称作为封装,其结果是一个同时带有特征和行为的数据类型。 定义类,定义其属性、方法的过程称为封装类。 学会从C语言的结构体中转换概念。

zhuguanlin121的博客 479

学习面向对象基础第三天

今天是学习面向对象基础的第三天,主要学习内容有:封装的特性及运用,包的特性及运用以及static关键字的特性与应用。 一、封装 说到封装,不得不说到java面向对象的三大特性:封装、继承与多态。那么什么是封装呢? Java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作与访问。 封装的步骤: 1、修改属性的可见性,在属性前面加上private 2、设置setter/getter()方法 3、设置属性的存取限制 二..

djyjx的博客 104

Java编程语言 封装和继承

封装和继承 方法语法: 访问修饰符 特殊修饰符 返回值类型 方法名(形式参数列表){ // 方法体 [return xxx;] } 分类: 无参无返(**场景:**往往是很简单想复用一段代码 没有什么具体的参数接入和值的返回) public void print(){ } 无参有返(**场景:**往往是不需要你关注具体的底层实现,只需要关注你想得到的...

Super风筝的博客 443

封装与继承

封装与继承 面向对象的三大特性:封装、继承、多态(如果有第四个 就是抽象) 1.掌握什么是封装 封装的作用: 如果没有封装,那么一个类中的属性,可能会出现不合理赋值 便于使用者正确使用系统,防止错误修改属性 有助于系统之间的松耦合,提高系统独立性 提高软件的可重用性 降低了构建大型系统的风险 封装的定义:将类的信息封装在类的内部,不允许外部程序直接访问,而是通过类提供的公开的接口进行访问...

wo_bu_wan_you_xi的博客 523

面向对象三大特征一——封装

面向对象三大特征之一——封装 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 Get set 方法: Get 读取 set 写入 this 代表当前对象 用法:1 调用属性 2 调用方法 3 调用构造(必须是构造方法中的第一条语句) 包--三大作用 1、区分相同名字的类 2、当类很多时,可以很好的管理类

Dionysus_S的博客 432

面向对象2

使用访问权限 对类中的成员信息进行隐藏, 有的不想让外界直接访问, 提供一些特定的方法去。表示静态, 修饰的成员变量在内存中只有一份,所有对象都一样的变量,可以定义为静态。表示当前对象, 调用当前对象中的成员变量,方法,构造方法。

2301_78369271的博客 241

javaSE基础面向对象笔记(1)封装,继承,super和this区别,重写重载区别,常用的包,4个访问修饰符,static修饰符

java基础面向对象特征:封装 继承 super,this关键字,四种访问修饰符,常用的包,重写重载,static修饰符 封装 public class Person { //特征 private String name; private int age; private String gender; public Person(String name, int age, String gender) { //this()调用其他的构造方法,需要放在构造方法的第一行 this(name,

Echoxxxxx的博客 213

面向对象编程、类和对象、封装、继承、多态、包、finally、static关键字、abstract抽象类、代码块全面总结

Java是纯面向对象的编程语言,任何代码都需要写到类里面。类:具有相同特征(属性)和行为(方法)的事物的抽象。类是抽象的,类是一个概念。在java中,类本质上是一个类型(引用类型)。java提供了一种语法,允许你创建自己的类。类就是对事物的定义 类的作用是 作为一种数据类型。 类用于创建对象。一个java文件可以有多个类,但只能有一个public类,而且文件名必须和public修饰类的文件名相同。之所以只能有一个public类,是因为一个文件只能有一个文件名。一般情况下,一个文件只有一个类。对象:对象是

wfqiaodaima的博客 247

java 封装与继承

5. 在⼦类中访问⽗类的成员时可通过super关键字实现,可以 调⽤⽗类的成员变量,成员⽅法,构造⽅法,在⼦类构造⽅ 法中调⽤⽗类的构造⽅法时但必须把super写在⾸⾏。6. 在创建⼦类对象时先创建⽗类对象,所以在调⽤⼦类构造⽅ 法时先调⽤⽗类构造⽅法且默认调⽤⽗类的⽆参构造⽅法, 在⼦类中也可以通过supter调⽤指定的⽗类构造⽅法。继承public和protected修饰的属性和⽅法,不管⼦类和 ⽗类是否在同⼀个包⾥ 继承默认权限修饰符修饰的属性和⽅法,但⼦类和⽗类 必须在同⼀个包⾥。

xinxinyydss的博客 98

Java面向对象:封装——类与对象

1.类与对象的介绍与定义 2.类成员初始化 3.类成员函数 toString的使用 5.包与全限定类名 6.static修饰与public、private修饰

weixin_47921628的博客 1092
上一篇: 面向对象基础(二)
下一篇: java中static关键字
海山的蓝
博客等级 码龄9年 36粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值