Java se的语言特征之封装

目录

  • 封装的概念
  • 常见的一些包
  • 静态成员变量
  • 代码块

封装的概念

可以理解为套壳屏蔽细节,将数据和操作数据的方法进行有机的结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互

从语法的层面来理解就是,被private修饰的成员变或者成员方法,只能在当前类中使用,但是可以通过set以及get进行间接访问
例如

    private String name;public void setName(String name) {this.name = name;}public String getName(){return this.name;}

像这上面就是,我们虽然是用private修饰的name,但是我们可以通过setname以及getname访问到

在这里插入图片描述
像上面的这幅图,就是访问修饰限定符的范围,其中default是默认的,就是我们在创建的时候不写访问修饰限定符,就默认是default

常见的一些包

java.lang://系统常用基础类(String,Object)
java.lang.reflect//java反射编程包
java.net://进行网络编程开发包
java.sql://进行数据库开发的支持包
java.util://java提供的工具程序包(集合类等),非常重要
java.io://1/0编程开发包

静态成员变量

在这里插入图片描述
就是可以理解为,A和B是一个班的同学,那这个班级对他们两个来说就是都拥有的,就是静态成员变量

注意点
1>静态成员变量不属于对象
2>输出静态成员变量直接通过类名输出与访问(静态成员变量在方法区中储存,伴随类产生和销毁)
System.out.println(student.classRoom);

在这里插入图片描述
如果是在普通方法中,name的调用是需对象的引用来调用的
但是上图中,func这个静态方法,直接通过类名就能调用,不依赖于对象,所以这样写会报错
以及静态方法中,不能调用非静态的成员变量和方法

代码块

1>普通代码块
2>构造块
3>静态块
4>同步块

2>构造块: 创建对象的时候才会执行
{
System.out.println(“构造块”);
}

3>静态块: 一般用来初始化静态成员
static{
classRoom = “三年二班”;
System.out.println(“这个为静态块”);
}

执行顺序: 1>静态先执行,再执行构造块,再执行对应的构造方法
2>静态只执行一次

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256773.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab 用矩阵画图

文章目录 Part.I IntroductionChap.I 预备知识Chap.II 概要Chap.III 杂记 Part.II 用矩阵画图Chap.I 摸索过程Chap.II 绘制专业图Chap.III 矩阵转tiff Part.I Introduction 本文汇总了 Matlab 用矩阵画图的几种方式。 Chap.I 预备知识 关于 *.mat 文件 *.mat文件是 matlab 的…

Appium 并行测试多个设备

一、前置说明 在自动化测试中,经常需要验证多台设备的兼容性,Appium可以用同一套测试运例并行测试多个设备,以达到验证兼容性的目的。 解决思路: 查找已连接的所有设备;为每台设备启动相应的Appium Server&#xff1b…

【React】路由的基础使用

react-router-dom6的基础使用 1、安装依赖 npm i react-router-dom默认安装最新版本的 2、在src/router/index.js import { createBrowserRouter } from "react-router-dom"/* createBrowserRouter:[/home]--h5路由createHashRouter:[/#/ho…

axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)

1、axios调接口特殊字符丢失的问题 项目开发过程中遇到一个接口传参,参数带特殊字符,axios调接口特殊字符丢失的问题 例如接口: get/user/detail/{name} name是个参数直接调接口的时候拼到接口上,get/user/detail/test123#$%&am…

UE Websocket笔记

参考链接 [UE4 C入门到进阶]12.Websocket网络通信 - 哔哩哔哩 包含怎么用Nodejs 写测试服务器 UE4_使用WebSocket和Json(上) - 知乎 包含Python写测试服务器 UE4_使用WebSocket和Json(下) - 知乎 示例代码 xxx.Build.cs"W…

一天一个设计模式---原型模式

基本概念 原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是通过实例化类。原型模式允许在运行时动态创建对象,同时避免了耦合与子类化。 在原型模式中&#xff0…

canvas绘制矩形和线

实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdev…

crmeb本地开发配置代理

crmeb 是一个开源的商城系统&#xff0c; v5 版本是一个前后端分离的项目&#xff0c; 我们从git仓库中下载下来的是一个文件夹&#xff0c;其结构是这样的 我的系统没有使用docker &#xff0c;使用的是 laragon 的系统 所以首先我们要在 nginx 中配置 之后&#xff0c; 我们…

泰凌微(Telink)8258配置串口收发自定义数据

在官网下载SDK后&#xff08;以Mesh SDK为例&#xff09;使用Eclipse打开&#xff0c;对应MCU的配置文件在app_config_8258.h&#xff0c;默认的HCI接口是HCI_USE_NONE&#xff0c;如果改成HCI_USE_UART后可以通过串口收发数据&#xff0c;此时默认接收函数处理的是以Telink的协…

LNMP网站架构分布式搭建部署(编译安装)

目录 一、数据库编译安装 二、nginx编译安装 三、php编译安装 三、通过nfs将三台不同的主机资源共享 四、基础测试 五、完成WordPress站点部署 六、完成bbs论坛站点部署 一、数据库编译安装 1、先下载安装包到/opt目录中&#xff0c;最好选择mysql-boost-5.7.44.tar.gz版…

【LeetCode:1466. 重新规划路线 | DFS + 图 + 树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

在JSP项目中编写一个接口返回JSON 供JSP界面异步请求数据

首先 我们要引入json处理的依赖工具 在 pom.xml文件的 dependency 标签中加入如下代码 <dependency><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><version>1.1.1</version> </dependenc…