java面向对象的特征封装_Java总结-Java面向对象的基本特征之一:封装性
作者: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面向对象的基本特征之一:封装性相关推荐
- java设计工资一般多少_java开发(java开发工程师工资一般多少)
java开发 Java,是于1995年5月被推出的Java程序设计言语和Java平台的总称.[1]Java起源于Oak,是由JamesGosling等几位工程师于1995年5月推出的一种能够编写跨平台 ...
- java简易计算器实验报告_Java 《Java 实现简单计算器》实验报告
15325592-d9e8874662abf194.png 环境 macOS java 15 Eclipse 创建项目 项目命名 2020-10-19_5f8d56908a700.png 如上图所示, ...
- java面向对象的小项目_java第二季面向对象结课小项目之答答租车系统
这个小项目是学完java面相对象的练习小项目,还有很多知识点没有用上,是因为并没有完全吸收所学的知识.粗略的完成了这个小项目希望大家指点! 创建Car父类 package com.car; publi ...
- java代码块执行顺序_Java笔记 | Java代码块执行顺序测试
最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下. 如有错漏,希望路过的大佬指出来,以便我进行更改. 先上代码吧! public class ClassA { ...
- java与c内存管理_Java基础--Java内存管理与垃圾回收
Java自动内存管理 在讲解内存管理之前,首先需要了解对象和对象引用的区别 对象是类的一个实例,以人这个类为例,Person是我们定义的一个类 public class Person{} public ...
- java jdk 的环境变量_Java JDK14(Java 14)在Windows上安装与环境变量配置
一、使用Jabba版本管理工具Windows 10上安装 1、在Win10上安装Jabba 在Win10上的Powershell上执行下面命令:[Net.ServicePointManager]::S ...
- java的num的数据类型_Java基础---Java数据类型
一.基本数据类型(4类 8种) 整数型:byte.short.int .long 浮点型:foat.double 字符型:char 布尔型:boolean. 注:1.Java中的默认类型:整数类型是 ...
- java中的比较运算符_Java基础---Java中的比较运算符(十三)
Java中的比较运算符 比较运算符用于判断两个数据的大小,例如:大于.等于.不等于.比较的结果是一个布尔值( true 或 false ). Java 中常用的比较运算符如下表所示: 注意哦: 1. ...
- java爬虫教程 百度云_java视频教程java爬虫实战项目httpclient hbase springmvc solr
资源内容: java视频教程java爬虫实战项目httpclient hbase springmvc solr|____猫了个咪-更多IT精品课程.html|____猫了个咪--it视频论坛.url| ...
最新文章
- winscp使用密钥登录远程linux系统
- pdf转换成可编辑的word转换器
- Derby与mysql的关系_Derby数据库简单介绍和使用方法 | 学步园
- 【Maven】import maven依赖安装失败——暂时玄学解决
- oracle 用多个常量表示某个字段的值
- excel表格打开是乱码怎么办?
- 解析bt种子下载 java_使用Java解析Torrent文件(BT种子),基于使用Eclipse ECF中的org.eclipse.bittorrent方案...
- win7 开启梦幻桌面
- 如何使用AxureShare+Axure RP 8.0创建团队项目,实现团队协同
- 【总结】学堂云慕课-如何写好科研论文
- 阿里短信单发,批量发送
- 人大、北外、北航三校开启在职硕士(学位)商业数据分析方向 | 报名
- 初中英语语法(017)-关系代词
- 蚂蚁金服开发文档中心
- matlab电流源,matlabPSB元件1、ACCurrentSource交流电流源(理想电源)Peak.doc
- 手机设备唤醒计算机,手机遥控电脑开机神器!局域网唤醒App
- 购物商城html源码asp,购物商城 html
- 数据标注:光鲜背后的付出
- Android基础入门教程——7.6.1 Socket学习网络基础准备
- Mind the Box: $\ell_1$-APGD for Sparse Adversarial Attacks on Image Classifiers
热门文章
- Python Tricks(一)—— np.where 与最大最小截断
- Python vs Matlab—— find 与 np.where
- Android 自定义控件圆形图案
- python单词的含义-Python这个单词是什么含义??????????????
- python怎么下载教程-Python爬虫文件下载图文教程
- python骗局-如何识破python小课骗局_怎样选择学校呢
- 【百度贾磊】汉语语音识别技术重大突破:LSTM+CTC详解(22PPT)
- 英语语音识别_英语 语音识别_英语语音识别软件 - 云+社区 - 腾讯云
- element-ui主表格多选后 二级弹框表格默认全选数据
- element ui 点击修改开启停用按钮状态