Java之抽象和封装
① 如何从现实世界中抽象出类?
根据软件开发需求: 发现类-->发现类的属性-->发现类的方法
② 构造方法的作用和特点是什么?
作用:在创建对象时执行一些初始化操作
特点:名称和类名相同,没有返回值类型
public class Text
{
private int id;
private String name; public Text()//无参构造方法
{ } public Text(int id, String name)//有参构造方法
{
super();
this.id = id;
this.name = name;
}
}
③ 什么是默认的构造方法?
在没有给类提供任何构造方法时,系统会提供一个无参的方法体为空的默认构造方法
④ 什么是方法重载?
如果一个类中包含了两个或两个以上的方法,他们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载了,这个过程称为方法重载
构造方法和成员方法都可以被重载
public class Text
{
private int id;
private String name;
public Text()
{ }
//构造方法重载:方法名相同参数列表不同(参数个数和参数类型)
public Text(int id)
{
super();
this.id = id;
} public Text(int id, String name)
{
super();
this.id = id;
this.name = name;
}
//成员方法重载
public void method()
{ }
public void method(String para)
{ }
public void method(int para)
{ }
}
⑤ 如何实现类的封装?
1、修改属性的可见性来限制对属性的访问
2、为每个属性提供Set和Get方法用于对这些属性的存取
3、在赋值方法中加入对属性的存取控制语句
public class Text
{
//修改属性的可见性
private int id;
private String name;
//提供Get/Set方法
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
⑥ 封装的好处是什么?
1、隐藏类的实现细节
2、让使用者只能通过程序规定的方法来访问数据
3、可以方便的加入存取控制语句,限制不合理操作
4、代码复用
⑦ 判断方法重载的依据是什么?
在同一个类中 方法名相同 方法参数个数或类型不同 与权限修饰符和返回值类型无关
⑧ 什么是类方法?什么是类变量?
static修饰的属性和方法称为类属性和类方法,不用Static修饰的属性和方法称为实例属性和方法
public class Text
{
//类属性
public static int age;
//实例属性
public String name;
//类方法
public static void method()
{ }
//实例方法
public void me()
{ }
}
⑨ static修饰符的含义和相关的知识点?
1、static可以用来修饰属性、方法和代码块
2、加载类的过程中,完成静态变量的内存分配,在执行静态块
3、类属性、类方法可以通过类名和对象名访问
4、类方法只能访问类属性和其他类方法
⑩ 请说出四个常用的访问权限修饰符?
1、private:类可见性
2、default:包可见性
3、protected:同一个包中的类访问,同一个项目不同包中的子类访问
4、public:同一个项目中所有类访问
◆ 在java中this关键字的含义是什么?
this关键字是对一个对象的默认引用。每个实例方法内部都有一个this引用变量,指向调用这个方法的对象
this调用成员变量,解决成员变量和局部变量的同名冲突
this调用成员方法
this调用重载的构造方法,只能在构造方法中使用,必须是构造方法的第一条语句
Java之抽象和封装的更多相关文章
- Java(13) 抽象和封装
一.简述从现实世界中抽象出类的步骤 第一:找出分类(分析出类) 第二:找出类的特征(分析类的相关属性) 第三:找出类的行为(分析类的方法) 二.常量(经常出现的变量值) 2.1 语法: public ...
- java 使用抽象工厂封装特性方法
1.创建抽象类:封装含有相同特性的方法. */ public abstract class AbstractPayment { public abstract String progress() th ...
- Java的继承、封装与多态
Java的继承.封装与多态 基本概念 面向对象OO(Object Oriented):把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象. 对同类对象抽象出共性,即类. 比如人就是一个类 ...
- 关于Java的特点之封装
抽象 1.简单理解 我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版).这种研究问题的方法称为抽象. 封装--什么是封装 封装就是把抽象出来的数据和对 ...
- Atitit. C# java 的api 目录封装结构映射总结
Atitit. C# java 的api 目录封装结构映射总结 C# java ref System.Reflection System.Type, java.lang.ref concurrent ...
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态 面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- java中基本类型封装对象所占内存的大小(转)
这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...
随机推荐
- Hibernate 之 Why?
本文主要是从一个宏观的角度来认识Hibernate,对为什么用Hibernate进行一些说明,通过指导并了解Hibernate的特性及其优缺点可以让我们在以后的项目中根据具体的情况进行选择. Hibe ...
- appche配置访问限制
1. 禁止访问某些文件/目录增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:<Files ~ "\.inc$"> Order a ...
- 20170111 ABAP技术小结(全半角转换)
DATA: it_po LIKE it_alv OCCURS 0 WITH HEADER LINE.************************************************** ...
- SQL Server 多库操作 库名.dbo.表名 出错的问题!
SQL Server 多库操作 库名.dbo.表名 出错的问题! 数据库名不要用数字开头. 例如:343934.dbo.user 这就会出错.md a343934.dbo.user 就没问题!! 记住 ...
- 强大的DataGrid组件[7]_自定义DataGrid——Silverlight学习笔记[15]
基本知识讲解 1)两种状态 DataGrid的单元格的状态有两类,即编辑状态和非编辑状态. 在实际开发中,如果一个单元格所在的列不设为只读的话(即要求可读写),那么这个单元格就存在这两种状态.按需要, ...
- Evernote相关技术介绍——mysql+lucene+tomcat
Evernote服务 我们的服务由以下几个组件组成. 分片(NoteStore) 分片是Evernote服务的核心单元,用于存储用户的笔记.每个分片最多可以支撑30万个Evernote用户,并包含 ...
- 并不对劲的LCT
LCT,是连猫树(link-cat-tree)的缩写.它是树链剖分和splay的结合版本. 由于有很多关于LCT的文章以及这并不是对劲的文章,并不对劲的人并不打算讲得太详细. 推荐:详细的LCT-&g ...
- linux 远程杀掉进程
转自http://blog.csdn.net/tengdazhang770960436/article/details/53906263 第一步:获取进程号 pid=$(ssh root@$remot ...
- redis info 参数说明
原文: redis info 参数说明 redis 127.0.0.1:6381> info redis_version:2.4.16 # Redis 的版本redis_git_sha1:000 ...
- 1.jeesite环境搭建
安装部署 1. 运行Maven目录下的settings.bat文件,用来设置maven仓库路径,并按提示操作(设置PATH系统变量.配置Eclipse). 2. 执行jeesite/bin/eclip ...