作者:nyist-tc-岑国玉

来源:牛客网

Java面向对象的基本特征之一:封装性

封装性:

1、封装性的目的:保护某些属性和方法不被外部所看见。

//这里说一下自己学linux时老师教我这个封装类似的思想。其实就是比如你是开发者,开发了一个软件,然后你打算给用户用。那么你一定会进行封装,就是给一部分功能给用户操作使用。那么用户是不能完全使用所有功能的。就相当于设置一个VIP用户这个功能,你只有成为会员,那么你就可以拥有这个功能,而不是VIP是根本看不到也用不了。也不知道对不对?

2、封装的实现:为属性和方法进行封装是通过关键字private声明的。

实现该属性的set和get方法,为外部所访问。

例如:

package java面向对象;

/*** @author asus**/

//private 实现分装,外部不可直接调用。//get set 是外界访问的接口。只有通过接口才能调用。class Person{//类private int age;//私有属性private String name; //私有属性public int getAge() {//公共方法return age;

}

public void setAge(int age) {

if (age>=0 && age<150) { //判断年龄是否合法。若非法显示为0this.age = age;

}

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public void tell(){ //get是得到System.out.println("姓名:"+getName()+" 年齡:"+getAge());

}

}

public class 封装性 {

public static void main(String[] args) {

/*** @param args*/

Person per = new Person();//定义新类;per.setName("张三");//set是设置per.setAge(30);

per.tell();

}

}

匿名对象:

匿名对象没有名字的实体,也就是该实体没有对应的变量名引用。

1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。

为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

如果对象要多成员进行多次调用,必须给对象起个名字。不能再使用匿名对象。

2,匿名对象可以实际参数进行传递。

例:

package java面向对象;

/*** @author asus**/

class Student{

public void tell() {

System.out.println("hello");

}

}

public class 匿名对象 {

public static void main(String[] args) {

/*** @param args*/

//正常对象Student stu = new Student();

stu.tell();

//匿名对象new Student().tell();//调用一次的情况可用匿名对象}

}

构造方法:

1、格式:访问修饰符 类名称(){

//程序语句;

}

2、注意点:

构造方法名称必须与类名一致。

构造方法没有返回值。

3、构造方法主要是为类中的属性初始化。

4、每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候回创建一个无参的什么都不做的构造方法。

5、构造方法也可以重载。

例如:

package java面向对象;

/*** @author asus**/

class People{

//构造方法public People(int a) {

System.out.println(a);

}

}

public class 构造方法 {

public static void main(String[] args) {

/*** @param args*/

People per = new People(5);

}

}

欢迎关注公众号:牛客NOIP竞赛学

java面向对象的特征封装_Java总结-Java面向对象的基本特征之一:封装性相关推荐

  1. java设计工资一般多少_java开发(java开发工程师工资一般多少)

    java开发 Java,是于1995年5月被推出的Java程序设计言语和Java平台的总称.[1]Java起源于Oak,是由JamesGosling等几位工程师于1995年5月推出的一种能够编写跨平台 ...

  2. java简易计算器实验报告_Java 《Java 实现简单计算器》实验报告

    15325592-d9e8874662abf194.png 环境 macOS java 15 Eclipse 创建项目 项目命名 2020-10-19_5f8d56908a700.png 如上图所示, ...

  3. java面向对象的小项目_java第二季面向对象结课小项目之答答租车系统

    这个小项目是学完java面相对象的练习小项目,还有很多知识点没有用上,是因为并没有完全吸收所学的知识.粗略的完成了这个小项目希望大家指点! 创建Car父类 package com.car; publi ...

  4. java代码块执行顺序_Java笔记 | Java代码块执行顺序测试

    最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下. 如有错漏,希望路过的大佬指出来,以便我进行更改. 先上代码吧! public class ClassA { ...

  5. java与c内存管理_Java基础--Java内存管理与垃圾回收

    Java自动内存管理 在讲解内存管理之前,首先需要了解对象和对象引用的区别 对象是类的一个实例,以人这个类为例,Person是我们定义的一个类 public class Person{} public ...

  6. java jdk 的环境变量_Java JDK14(Java 14)在Windows上安装与环境变量配置

    一、使用Jabba版本管理工具Windows 10上安装 1、在Win10上安装Jabba 在Win10上的Powershell上执行下面命令:[Net.ServicePointManager]::S ...

  7. java的num的数据类型_Java基础---Java数据类型

    一.基本数据类型(4类 8种) 整数型:byte.short.int .long 浮点型:foat.double 字符型:char 布尔型:boolean. 注:1.Java中的默认类型:整数类型是 ...

  8. java中的比较运算符_Java基础---Java中的比较运算符(十三)

    Java中的比较运算符 比较运算符用于判断两个数据的大小,例如:大于.等于.不等于.比较的结果是一个布尔值( true 或 false ). Java 中常用的比较运算符如下表所示: 注意哦: 1. ...

  9. java爬虫教程 百度云_java视频教程java爬虫实战项目httpclient hbase springmvc solr

    资源内容: java视频教程java爬虫实战项目httpclient hbase springmvc solr|____猫了个咪-更多IT精品课程.html|____猫了个咪--it视频论坛.url| ...

最新文章

  1. winscp使用密钥登录远程linux系统
  2. pdf转换成可编辑的word转换器
  3. Derby与mysql的关系_Derby数据库简单介绍和使用方法 | 学步园
  4. 【Maven】import maven依赖安装失败——暂时玄学解决
  5. oracle 用多个常量表示某个字段的值
  6. excel表格打开是乱码怎么办?
  7. 解析bt种子下载 java_使用Java解析Torrent文件(BT种子),基于使用Eclipse ECF中的org.eclipse.bittorrent方案...
  8. win7 开启梦幻桌面
  9. 如何使用AxureShare+Axure RP 8.0创建团队项目,实现团队协同
  10. 【总结】学堂云慕课-如何写好科研论文
  11. 阿里短信单发,批量发送
  12. 人大、北外、北航三校开启在职硕士(学位)商业数据分析方向 | 报名
  13. 初中英语语法(017)-关系代词
  14. 蚂蚁金服开发文档中心
  15. matlab电流源,matlabPSB元件1、ACCurrentSource交流电流源(理想电源)Peak.doc
  16. 手机设备唤醒计算机,手机遥控电脑开机神器!局域网唤醒App
  17. 购物商城html源码asp,购物商城 html
  18. 数据标注:光鲜背后的付出
  19. Android基础入门教程——7.6.1 Socket学习网络基础准备
  20. Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers

热门文章

  1. Python Tricks(一)—— np.where 与最大最小截断
  2. Python vs Matlab—— find 与 np.where
  3. Android 自定义控件圆形图案
  4. python单词的含义-Python这个单词是什么含义??????????????
  5. python怎么下载教程-Python爬虫文件下载图文教程
  6. python骗局-如何识破python小课骗局_怎样选择学校呢
  7. 【百度贾磊】汉语语音识别技术重大突破:LSTM+CTC详解(22PPT)
  8. 英语语音识别_英语 语音识别_英语语音识别软件 - 云+社区 - 腾讯云
  9. element-ui主表格多选后 二级弹框表格默认全选数据
  10. element ui 点击修改开启停用按钮状态