面向对象编程(OOP) 权限修饰符

类的权限修饰符

Java语言中的权限修饰符主要包括private、public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问。如果一个类的成员变量或成员方法被修饰为private,则该成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的。如果将类的成员变量和成员方法的访问权限设置为public,则除了可以在本类使用这些数据之外,还可以在子类和其他包中的类中使用。如果一个类的访问权限被设置为private,这个类讲隐藏其内的多有数据,以免用户直接访问它,如果需要使类中的数据被子类或其他包中的类使用,可以将这个类设置为public访问权限。如果一个类使用protected修饰符,那么只有本包内该类的子类或其他类可以访问此类中的成员变量和成员方法。

public和protected修饰的类可以由子类访问,如果子类和父类不在同一包中,那么只有修饰符为public的类可以被子类进行访问。如果父类不允许通过继承产生的子类访问他的成员变量,那么必须使用private声明父类的这个成员变量。

注意:当声明类时不使用private、public和protected修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量或成员方法。

以矩形题目为例:

package org.hanqi.pn0120;

//公共的
public class JuXing2 {

    //私有的  类的内部  封装
    private double chang;

    //保护的 protected
     public double kuan;

成员变量

在Java语言中对象的属性称为成员变量,也可以称为属性。为了了解成员变量,首先定义一个图书类,成员变量对应于类对象的属性,在Book类中设置id、name和category3个成员变量,分别对应于图书编号、图书名称和图书类别这3个图书属性。

(1)修饰符  数据类型   变量名;

(2)规范 设成私有private

开放getter或setter方法

     POJO  简单JAVA对象   ①只有属性和getter,setter方法②没有业务逻辑

以矩形为例

package org.hanqi.pn0120;

//公共的
public class JuXing2 {

    //私有的  类的内部  封装
    private double chang;

    //保护的 protected
     public double kuan;

     public double getchang()
     {
         return chang;
     }

     public double getkuan()
     {
         return kuan;
     }

     public void setchang(double chang)
     {
         //加验证
         if(chang>0)
         {
         this.chang=chang;
         }
         else
         {
             System.out.println("长度值"+chang+"无效");
         }
     }

     public void setkuan(double kuan)
     {
         if(kuan<=0)
         {
             System.out.println("宽度值"+kuan+"无效");
         }
         else
         {
             this.kuan=kuan;
         }
     }
     public JuXing2()
     {

     }

    public JuXing2(double chang,double kuan)
    {
        //this.chang=chang;
        //this.kuan=kuan;
        setchang(chang);
        setkuan(kuan);
    }

    //计算面积
    double getMianJi()
    {
        return this.chang*this.kuan;
    }

    public static void main(String[] args)
    {
        JuXing2 myJX=new JuXing2(20,6);

        myJX.chang=12;

        System.out.println("长="+myJX.chang);

        System.out.println("矩形的面积="+myJX.getMianJi());
    }

}

package org.hanqi.pn0120;

public class Test1 {

    public static void main(String[] args) {

        JuXing2 myJX1=new JuXing2(20,6);

        myJX1.kuan=10;

        //读取属性值

        System.out.println("宽="+myJX1.getkuan());
        System.out.println("长="+myJX1.getchang());

        System.out.println("面积="+myJX1.getMianJi());

        JuXing2 myJX2=new JuXing2();

        myJX2.setchang(-30);
        myJX2.setkuan(0);
        System.out.println("矩形的面积"+myJX2.getMianJi());

    }

}

时间: 03-06

面向对象编程(OOP) 权限修饰符的相关文章

面向对象编程(OOP)————修饰符

一.类的修饰符 Java语言中的权限修饰符主要包括private.public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问.如果一个类的成员变量或成员方法被修饰为private,则该成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的.如果将类的成员变量和成员方法的访问权限设置为public,则除了可以在本类使用这些数据之外,还可以在子类和其它包中的类中使用.如果一个类的访问权限被设置为private,这个类将隐藏其内的所有数据,以免用户直接

Java内构造函数、关键字、权限修饰符、访问控制及面向对象的特性!

1, 构造函数(构造方法) 在使用 new 来创建一个对象的时候就是调用的这个类的一个构造方法(构造函数), 构造方法名与类同名, 并且没有返回值(没有返回值也不要写void) 空参的构造函数和有参数的构造函数 注释, 命名规则!!!!!!!!!! 2, 继承中的构造函数: --子类的构造方法必须调用父类的构造方法 --super(), 调用父类的构造方法, this()调用本类中另外的构造方法 3, 关键字this, static, package和import语句 this: --在类的方法

2016/1/17 笔记 1,面向对象编程OOP 2,类

面向对象编程OOP 编程方式的发展 1,面向过程 重用性低 维护工作量大  2,面向对象 重用性高 维护容易 概念 1,对象 Object 一个具体的事物 是类的实例      2,类Class 同一类事物的统称 具有相同属性和行为的一类实体 特性:1,封装:  oop的核心思想           封装属性和行为,隐藏细节           保证内部数据完整性        2,继承: 子类自动继承所有父类的属性和行为           java是单继承 所有类的父类Object     

Java系列学习(十)-包与权限修饰符

1.形式参数和返回值的问题 (1)形式参数: A:类名:需要该类的对象 B:抽象类名:需要改类的子类对象 C:接口名:需要该接口的实现对象 (2)返回值类型: A:类名:抽象类名:返回的是该类的对象 B:抽象类名:返回的是该类的子类对象 C:接口名:返回的是该接口的实现类对象 (3)链式编程 每次调用完毕方法后,返回的是一个对象 2.包 (1)其实就是文件夹   (2)作用: A:区分同名的类 B:对类进行分类管理 ①按照功能分 ②按照模块分 (3)包的定义: ①package 包名; ②多级包

访问权限修饰符-static-final-this-super-匿名对象

1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用 3.继承     关键字:extends     通过继承,子类可以直接访问父类中非私有的属性及方法     只允许单继承,但是可以多层继承     子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器; 

权限修饰符

/* 权限修饰符: 权限修饰符就是控制被修饰的成员的范围可见性. public(公共) protected(受保护) default(缺省) private (大到小) 同一个类 true true true true 同一个包 true true true false 子父类 true true false false 不同包 true false false false 注意: 在不同包下面只有public 与 protected 可以访问,而且protected必须是在继承关系下才能够访问

学习面向对象编程OOP 第一天

面向对象编程 Object Oriented Programming 一.什么是面向对象编程OOP 1.计算机编程架构; 2.计算机程序是由一个能够起到子程序作用的单元或者对象组合而成.也就是说由多个程序单元可以拼凑成一个完整的功能程序; 3.三个目标:重用性.灵活性和扩展性; 4.每个单独的对象或者单元都可以实现数据的接收.处理和发送; 5.在实际的项目开发中,都会使用达到OOP去声明类,而且在项目里面只用对象和类. 详细参考网址(根据原文学习的) http://www.cnblogs.com

Java的权限修饰符(public,protected,default,private)

访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据"是否是同包"."是否是子类"分为4中情况+本类 5种情况 二.把 同包中的子类 和 同包中的非子类 合并为 同包 访问修饰符 本类 同包 不同包,子类 不同包,非子类 public √ √ √ √ protected √ √ √   default(friendly) √ √     private √      

面向过程编程(OPP) 和面向对象编程(OOP)的关系

面向过程编程(OPP) 和面向对象编程(OOP)的关系 原文链接:http://blog.csdn.net/phphot/article/details/3985480 关于面向过程的编程(OPP)和面向对象的编程(OOP),给出这它们的定义的人很多,您可以从任何资料中找到很专业的解释,但以我的经验来看,讲的相对枯燥一点,不是很直观.除非您已经有了相当的积累,否则说起来还是比较费劲. 我是个老程序员出身,虽然现在的日常工作更多倾向了管理,但至今依然保持编码的习惯,这句话什么意思呢?我跟大家沟通应