精华内容
下载资源
问答
  • java练习——简单java( 数据封装 )

    千次阅读 2018-07-19 15:56:20
    开发一个雇员的类,里面包含有雇员的以下信息:编号,姓名,职位,工资  开发要求:  类名称必须有意义;  类的所有属性必须用private封装封装好的属性必须提供有setter,getter;  类之中可以提供有任意多...

    开发一个雇员的类,里面包含有雇员的以下信息:编号,姓名,职位,工资

          开发要求:

                类名称必须有意义;

                类的所有属性必须用private封装,封装好的属性必须提供有setter,getter;

                类之中可以提供有任意多个构造方法,且必须保留有一个无参构造方法;

                类之中不允许出现任何输出语句,所有的信息输出必须交给被调用处输出;

                类之中必须提供一个取得完整信息的方法getInfo(),而且返回String型数据。

          代码如下:

    //封装一个有特定意义的类
    class Emp{
    	private int empno;//编号
    	private String ename;//姓名
    	private String job;//职位
    	private double sal;//工资
    	
    	//构造方法
    	public Emp() {}
    	public Emp(int empno,String ename,String job,double sal) {
    		this.empno = empno;
    		this.ename = ename;
    		this.job = job;
    		this.sal = sal;
    		
    	}
    	
    	//setter
    	public void setEmpno(int empno) {
    		this.empno = empno;
    	}
    	public void setEname(String ename ) {
    		this.ename = ename;
    	}
    	public void setJob(String job) {
    		this.job = job;
    	}
    	public void setSal(double sal) {
    		this.sal = sal; 
    	}
    	
    	//getter
    	public int getEmpno() {
    		return empno;
    	}
    	public String getEname() {
    		return ename;
    	}
    	public String getJob() {
    		return job;
    	}
    	public double getSal() {
    		return sal;
    	}
    	public String getInfo() {
    		return  "雇员编号:  "+ empno + "\n"+
    			"雇员姓名:  "+ ename + "\n"+
    			"雇员工作:  "+ job +"\n"+
    			"雇员工资:  "+ sal ;				
    	}	
    }
    //测试类
    public class text {
    	public static void main(String[] args) {
    		Emp e = new Emp(123,"jack","搬砖",1000.0);
    		System.out.println(e.getInfo());
    		System.out.println("修改信息为:");
    		e.setSal(500.0);
    		System.out.print(e.getInfo());
    	}
    }

        测试结果:

    雇员编号:  123
               雇员姓名:  jack
               雇员工作:  搬砖
               雇员工资:  1000.0
               修改信息为:
               雇员编号:  123
               雇员姓名:  jack
               雇员工作:  搬砖
               雇员工资:  500.0

    展开全文
  • 在面向对象编程思想中,不仅把汁液多、糖分多、含有挥发性芳香物质、可以生食等共同特征放到水果里,同时也把水果开花、落果、膨大、成熟等共同行为放到水果里,这样水果包含了水果所具备共同特征,也...

    Java面向对象的封装原则

    封装:

    通俗理解:在不想让外人看见自己所定义的内容,但是你可以使用(调用),怎么调用呢?通过先设置(set)下属性或者方法内容,然后你必须获取(get)下才可以调用。

    在面向对象编程思想中,不仅把汁液多、糖分多、含有挥发性芳香物质、可以生食等的共同特征放到水果类里,同时也把水果的开花、落果、膨大、成熟等共同行为放到水果类里,这样水果类既包含了水果所具备的共同特征,也包含了开花、落果、膨大、成熟等共同行为。

    当外部需要访问水果类时,调用水果类对外提供的访问方法来访问其共同特征和行为。例如:水果类提供了get方法来访问其属性(特征),提供了开花、落果、膨大、成熟等方法来访问其行为。同时通过Java关键字public、protected、private(在Java类一节会有详细介绍)设置水果类的访问权限。

    由上面的内容可以看出,Java封装就是把现实世界同类事物的共同特征和行为抽取出来,放到一个新建的类中,并设置类属性(特征)和行为的访问权限,同时提供外部访问类属性和行为的方法。

    把事物的属性和行为封装在一起,可以对外隐藏内部数据,控制用户对内部数据的修改和访问,封装也消除了面向过程编程中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性。

    下面以水果类为案例,具体说明封装的过程和优点。

    启动eclipse,建立Fruits项目。在Fruits项目src目录下新建包com.milihua.fruits,如下图所示:

    2d4b9f65f89aa9bbbf327a10527b7508.png

    图 11-4 新建水果类项目

    在com.milihua.fruits包下新建FruitManager类,FruitManager类为水果管理类,负责水果品种的增加、删除,以及水果的展示等功能。在新建类时要注意勾选public static void main(String[] args)选项,如下图所示:

    在com.milihua.fruits包下新建类Fruits类,Fruits类为水果类,负责水果的创建和展示。水果类封装代码如下:

    22924cc47000ba4ac4d38801e36b1f1a.png

    Fruits类的属性声明为私有的(private),方法声明为公共的(public)。这样,对象能够直接调用类中定义的所有方法,当对象要修改或得到自己属性的时候,就必须要调用已定义好的专用的方法才能实现。起到了隐藏内部数据,控制用户对内部数据修改和访问的作用。类的可复用性和可扩展性会在继承或多态一节讲到。

    对于面向对象编程而言,需要掌握如下几点:

    (1)抽象是把同类事物的共同特征抽取出来归纳为类,类的具体实例为对象。

    (2)封装就是把抽取的事物属性和行为打包到一个类中,并隐藏内部数据和方法的实现过程。

    (3)编程时要遵循对象调用方法,方法修改属性。

    封装性的体现:

    将类的属性私有化(private),同时提供公共(public)的方法来获取(get xxx)和设置(set xxx)此属性的值,且调用时不可以直接使用“对象。属性”。

    public class PersonTest {

    public staTIc void main(String[] args) {

    Person b = new Person();//类的实例化

    b.setAge(99);//调用对象的方法

    b.setName(“Jack”);

    System.out.println(“姓名为:” +b.getName() +“,年龄为:” +b.getAge());

    }

    }

    public class Person {

    private int age;//定义属性为私有的

    private String name;

    public int getAge() {//提供public方法获取属性

    return age;

    }

    public void setAge(int i) {//提供public方法设置属性

    if (i 《 0 || i 》 130) {

    System.out.println(“年龄不符合规范!”);

    }

    age = i;

    }

    public String getName(){//提供public方法获取属性

    return name;

    }

    public void setName(String n){//提供public方法设置属性

    name = n;

    }

    }

    关于权限修饰符的使用范围

    2ed8ee72b37f9840f7930a6670b972a0.png

    Java提供的4种权限修饰符,用来修饰类(只能使用缺省、public)及类的内部结构:属性、方法、内部类、构造器

    展开全文
  • 封装

    2017-04-12 10:49:08
    this指对当前对象引用,调用当前对象的属性和方法(解决成员变量冲突,*只能在构造方法中使用,必须是第一条语句) 构造方法作用是:创建对象是执行一些初始化操作 方法重载:如果同一个包含...
    类是对一些事物的描述,是抽象的,概念的,对象是实际存在的个体,具体的,现实的


    this指对当前对象的引用,调用当前对象的属性和方法(解决成员变量的冲突,*只能在构造方法中使用,必须是第一条语句)


    构造方法的作用是:创建对象是执行一些初始化操作


    方法的重载:如果同一个类中包含两个或两个以上的方法,方法名相同,参数列表不同


    方法的重载判断依据:
    1.必须在同一个类里
    2.方法名相同
    3.参数列表不同
    4.与方法的返回值类型和修饰符没有任何关系


    static可以用来修饰属性(类属性)方法(类方法)代码块---不用修饰的成为实例属性和实例方法


    在类加载的过程中,完成静态变量的内存分配,在执行静态块,两者是在创建对象之前执行的
    类属性和类方法可以通过类名和对象名访问,实例属性实例方法只能通过对象名访问


    *类变量不能是局部变量


    封装:1.修改属性的可见性---设为private
          2.创建公有的getting和setting方法---用于属性的读写
          3.在getting和setting加入控制语句-属性--进行对属性值的判断
    好处:隐藏类的实现细节,使用规定的方法来访问数据,加入控制语句,方便修改和实现
    展开全文
  • 【单选题】下列有关蛋白质的说法错误的是( )【判断题】JavaBean组件就是Java开发中的一个类,通过封装属性和方法成为具有某种功能和接口的类,所以具有Java程序的特点。( )【单选题】还款本息和较多的是【单选题】有一...

    【单选题】对于M7475B型磨床,工作台的移动采用( )控制。

    【单选题】一台牵引列车的直流电机( )。

    【单选题】下列有关蛋白质的说法错误的是( )

    【判断题】JavaBean组件就是Java开发中的一个类,通过封装属性和方法成为具有某种功能和接口的类,所以具有Java程序的特点。( )

    【单选题】还款本息和较多的是

    【单选题】有一整数的二进制补码表示为1111,对应十进制数是

    【单选题】蛋白质分子中的主键是( )

    【单选题】三相半波可控整流电路,若变压器次级电压为u2,且0

    【判断题】( )焊条必须在干燥通风良好的室内仓库中存放。

    【单选题】下面对一些常用的伪指令说法正确的是:( )

    【单选题】在RLC串联电路中,视在功率Ps,有功功率P,无功功率Pqc、Pql四者的关系是( )。

    【单选题】mov *(#0x011234) , T2” 使用的寻址方式是( )。

    【填空题】COFF 目标文件中 .text 段通常包含( ) , .data 段通常包含己( ) 的数据, .bss 段中通常为( ) 的数据 保留空间。

    【单选题】资金充裕的客户可以建议

    【单选题】每个月还款中本金不变的是

    【判断题】创建JavaBean要经过编写代码、编译源文件、配置JavaBean这样一个过程。( )

    【判断题】JavaBean也是Java类,因此也必须有主函数。( )

    【单选题】M7475B磨床电磁吸盘在进行不可调励磁时,流过YH的电流是( )。

    【单选题】( )是整个计算机的核心部件,主要用于指令执行

    【填空题】定义段的伪指令 .text 、 .data 和 .sect 创建初始化段,伪指令( ) 和( ) 建未初始化段。

    【填空题】DSP 的内部存储器类型可分为随机存取存储器( RAM )和只读存储器( ROM )。其中 RAM 又可以分为两种类型:( )和( ) 。

    【判断题】( )在感性电路中,提高用电器的效率应采用电容并联补偿法。

    【单选题】有投资渠道的客户可以建议

    【填空题】汇编源程序中标号可选,若使用标号,则标号必须从( ) 开始;程序中可以有注释,注释在第一列开始时前面需标上“( )” 或“;” 。

    【单选题】组成蛋白质的氨基酸都属于( )

    【单选题】建议有提前还款可能性的建议

    【判断题】( )绝缘有明显缺限的高压开关,严禁再作交流耐压试验。

    【单选题】汇编语言 “mov *AR0 , AC0” 使用的寻址方式是( )。

    【单选题】阻容耦合多级放大器中,( )的说法是错误的。

    【单选题】T610镗床的主轴和平旋盘是通过改变( )的位置实现调速的。

    【判断题】( )高压隔离开关,实质上就是能耐高电压的闸刀开关,没有专门的灭弧装置,所以只有微弱的灭弧能力。

    【填空题】立即数寻址指令中在数字或符号常数前面加一 个 ( ) 号,来表示立即数。

    【单选题】提前还款时,剩余本金 归还的数额多

    【判断题】( )高压负荷开关与高压隔离开关结构上很相似,在断路状态下都具有明显可见的断开点。

    【判断题】( )小容量交流电器多采用多断点电动力综合灭弧。

    【单选题】每个月还款数额一样的是

    【判断题】( )交流测速发电机的励磁绕组必须接在频率和大小都不变的交流励磁电压上。

    【单选题】mov #0x3 , DPH” 使用的寻址方式是( )。

    【判断题】JavaBean的属性必须声明为private,方法必须声明为public访问类型。( )

    【单选题】第一个月 还款方法归还的还款额多

    【单选题】定位轴线在哪种图样的设计中确定

    【填空题】一般, COFF 目标文件中包含三个缺省的段:( ) 段、( ) 段和( ) 段。

    【判断题】( )直流电机进行能耗制动时,必须将所有电源切断。

    【单选题】等额本金每月还款额

    【判断题】( )高压负荷开关的交流耐压试验属于检验开关绝缘强度最有效、最严格、最直接的试验方法。

    【单选题】大多数蛋白质的pI值约为5.0,因而在略呈碱性的血液中,它们常( )

    【单选题】等额本息每个月还款额

    【单选题】部件的装配略图可作为拆卸零件后( )的依据。

    【单选题】沉淀蛋白质,但不导致蛋白质变性的是( )

    【判断题】( )正常工作条件下,为保证晶闸管可靠触发,实际所加的触发电压应大于门极触发电压。

    展开全文
  • 封装: 1.类的构成: JAVA将描述某一事物的属性和功能封装在...构造方法必须与它所在类名完全相同,并且不包含返回值类型描述部分;在对象被实例化时调用; 方法重载是指一个中可以有多个名字相同方法,但这些方
  • 必须遵循一定的规范:1)类必须使用public修饰2)必须保证有公共无参的构造函数3)包含属性的操作手段(给属性赋值,获取属性值);在使用boolean类型的变量时,用户可以用isXxx()代替getXxx();和setXxx();分类:1)简单:...
  • 封装数据模型

    2016-09-07 14:54:00
    1.封装数据模型可能遇到情况1)外界访问模型中没有的属性(需要添加防止崩溃代码)2)数据模型中存在与关键字冲突的属性名(需要对属性名进行转换)3)数据模型中又包含有别数据模型时(需要对此类属性在整体kvc之后,...
  • 一切事物皆为对象,对象是可以看到、感觉到、...面向对象语言必须满足三大特性:封装、继承、多态 一、与实例  定义:具有相同属性和功能对象抽象集合,是对象一种表现形式;实例化就是创建对象过...
  • 1)概念三个面向对象的概念: 封装,继承和多态性封装属性和方法是一个类....所谓的抽象类是包含抽象方法的类,抽象类也可以包含普通方法.由于抽象方法必须是一个空方法,因此任何子类都必须重新定义抽象方法...
  • (1) 概念 面向对象的三大概念:封装,继承,多态 把属性和方法封装起来就是类。一个类的属性和方法被另外的类复制就是... 所谓抽象类就是包含抽象方法的类,同时抽象类也可以包含普通方法。 因为抽象方法必须...
  • 类的设计方法

    2012-05-06 21:04:27
    ²1、根据要求写出包含的属性; ²2、所有的属性必须进行封装(private); ²3、封装之后的属性通过setter和getter设置和取得; ²4、如果需要可以加入若干构造方法; ²5、再根据其他要求添加...
  • 抽象和接口区别

    2017-09-03 20:38:00
    抽象类: 1)由abstract关键字修饰 2)包含抽象方法的类必须是抽象类不包含抽象方法的类也可以声明为抽象类 3)抽象类不能被实例化 4)抽象类是需要被继承的,需要重写或者声明为抽象类: 4.1)重写所有抽象方法 4.2)也声明...
  • 笔记9:java_写一个简单java

    千次阅读 2016-10-06 10:03:57
    要求:开发一个雇员的类,里面包含有雇员编号,姓名,职位,基本工资,佣金。...类中的属性必须使用private封装,同时封装后的属性必须提供有setter和getter方法(就算用不到,也需要提供) 3.类之中可以提供
  • 文章目录js中必须要掌握面向对象编程思想什么是面向对象与对象面向过程和面向对象面向对象三要素继承封装多态多态 js中必须要掌握面向对象编程思想 什么是面向对象 面向对象程序设计(oop)是种具有对象...
  • 类的导出

    2016-12-31 13:09:00
    pickle: load导出存进的类的时候,如果不是在同一个文件,必须先import这个类 类和对象的关系: class里面包含方法,obj指向class,obj里面可以封装属性 python的多态:*arg,不用指定类型 java/c...: 类的...
  • 2.属性必须用private封装必须有setter和getter方法 3.可以有多个构造方法,但必须包含无参数构造方法 4.中不允许有输出语句,所有内容获取必须必须返回 package asrfasf; //打包 class Address{ //...
  • C# 接口、抽象

    千次阅读 2014-01-08 09:40:22
    1、接口是把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合。...实现过程必须在实现接口的类中完成,所以实现接口成员必须是公共的。 B:接口除了可以包含方法之外,还可以包含属性
  • 1、在写asp.ner程序时,我们经常要写一个SqlHelper用于封装连接数据库。...3、静态方法中只能使用静态字段、方法和属性,要使用非静态字段、方法和属性必须有实例对象。 4、类的静态成员有效期...
  • 继承:继承是从已有的类中派生出新的类,新的类可以继承已有类中的数据属性和行为(不包含私有的(private)属性和行为)。 多态:父类的引用指向了子类的对象,使用前提是必须存在继承(extends)或者实现...
  • 1.2 所有属性必须使用private封装; 1.3 所有封装属性必须按照定义要求编写setter、getter方法; 1.4 中可以有若干个构造方法,但是必须保留有一个明确无参构造方法定义;(这个我还不知道为什么,以后讲到...
  • 设计分析

    2014-10-14 10:35:12
    所有属性必须封装 封装之后的属性通过setter和getter方法设置和取得 如果需要可以加入若干构造方法 再根据其他要求加入相应方法 中所有方法都不要直接输出,而是交被调用处输出   ...
  • 简单Java类简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类、对象、构造方法、private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求:类名称必须存在有意义,...
  • 一个对象就是一个类实例化模型,一个类必须经过实例化后才能在程序中调用,一个类可以实例化多个对象 类三大特性: 1、封装 在类中对数据赋值。内部调用对外部用户是透明、里面包含着类数据和方法、类似...
  • java

    2020-02-01 12:54:12
    定义一个类之中包含基本属性,setter()、getter()方法,则这有的类称为简单的java类. 对于java类开发原则遵守下面几点: 类名称必须可以明确表示出类的定义,如Person、Animals、Emp; 类中的所有属性必须使用private...
  • 但是如果User对象中包含类另外一个对象,如Authority(权限) Authority包含了id和name两个属性 再按照上面写法就会出现上面提到异常,不知道各位有没有遇到过 [b]问题补充:[/b] visoin你能不能说具体...
  • 1、抽象类:使用abstract修饰的类抽象方法:使用abstract修饰的方法包含抽象方法的类必须是抽象类,但是抽象类可以不包含抽象方法。抽象类是需要被继承的,抽象方法是需要被重写的,建议重写抽象类中的所有方法(包含...
  • Java内部与常用

    2020-08-05 10:09:46
    在类的内部定义,与实例变量、实例方法同级别的类 外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象 当外部类、内部类存在重名属性时,会优先访问内部类属性。 成员内部类不能定义静态成员,但可...
  • 简单java

    2016-04-04 14:52:44
    定义的一个类中只包含基本的属性,setter(),getter()方法,则这样的类称为简单java类。简单java类的开发原则有下面几点,必须严格遵守: ①类名称可以明确的表示出一类的定义,如Persong、Emp、Dept; ②类中所有...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 354
精华内容 141
热门标签
关键字:

包含属性的类必须封装