① 如何从现实世界中抽象出类?
    根据软件开发需求: 发现类-->发现类的属性-->发现类的方法
    
②   构造方法的作用和特点是什么?
    作用:在创建对象时执行一些初始化操作
    特点:名称和类名相同,没有返回值类型

 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之抽象和封装的更多相关文章

  1. Java(13) 抽象和封装

    一.简述从现实世界中抽象出类的步骤 第一:找出分类(分析出类) 第二:找出类的特征(分析类的相关属性) 第三:找出类的行为(分析类的方法) 二.常量(经常出现的变量值) 2.1 语法: public ...

  2. java 使用抽象工厂封装特性方法

    1.创建抽象类:封装含有相同特性的方法. */ public abstract class AbstractPayment { public abstract String progress() th ...

  3. Java的继承、封装与多态

    Java的继承.封装与多态 基本概念 面向对象OO(Object Oriented):把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象. 对同类对象抽象出共性,即类. 比如人就是一个类 ...

  4. 关于Java的特点之封装

    抽象 1.简单理解 我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版).这种研究问题的方法称为抽象. 封装--什么是封装 封装就是把抽象出来的数据和对 ...

  5. Atitit. C# java 的api 目录封装结构映射总结

    Atitit. C#  java 的api 目录封装结构映射总结 C# java ref System.Reflection System.Type, java.lang.ref concurrent ...

  6. PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)

    PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态   面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...

  7. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  8. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  9. java中基本类型封装对象所占内存的大小(转)

    这是一个程序,java中没有现成的sizeof的实现,原因主要是java中的基本数据类型的大小都是固定的,所以看上去没有必要用sizeof这个关键字. 实现的想法是这样的:java.lang.Runt ...

随机推荐

  1. Jackson 框架的高阶应用

    Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架.Jackson 社 区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson ...

  2. ubuntu12.04 64位系统配置jdk1.6和jdk-6u20-linux-i586.bin下载地址

    1:下载地址http://code.google.com/p/autosetup1/downloads/detail?name=jdk-6u20-linux-i586.bin&can=2&am ...

  3. Android中onInterceptTouchEvent、dispatchTouchEvent及onTouchEvent的调用顺序及内部原理

    在Android中需要经常对用户手势进行判断,在判断手势时需要精细的分清楚每个触摸事件以及每个View对事件的接收情况,在View,ViewGroup,Activity中都可以接收事件,在对事件进行处 ...

  4. 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

    四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...

  5. plink 与 ssh 远程登录问题

    plink 是一种 putty-tools,ubuntu 环境下,如果没有安装 plink,可通过如下方法进行安装: $ echo y | sudo apt-get install plink 1. ...

  6. I.MX6 wpa_cli 使用

    /*********************************************************************** * I.MX6 wpa_cli 使用 * 说明: * ...

  7. [HEOI 2012] 采花

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2743 [算法] 首先预处理nxt[]数组 , 其中 , nxt[i]表示下一个和i号 ...

  8. UI:用UITableView制作通讯录的关键代码

    分析{功能分析(打电话.添加联系人.修改联系人),模块分析(联系人展示.详情模块.添加模块)} 拿到一个项目,首先分析项目框架(工程框架) 首先:判断是否是用户第一次安装:(如果是的,那就加载用户引导 ...

  9. bzoj 2783: [JLOI2012]树【树上差分】

    注意是等于s不是大于s dfs,用set或者map存这条链到root的点权和sum[u],更新答案的时候查一下有没有s-sum[u]即可 #include<iostream> #inclu ...

  10. 小程序 video 层级,原生组件

    原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上. 后插入的原生组件可以覆盖之前的原生组件. 原生组件还无法在 scroll-view.swiper. ...