博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一章 对象和封装
阅读量:6002 次
发布时间:2019-06-20

本文共 2758 字,大约阅读时间需要 9 分钟。

  1. 对象和类的区别
  2. 定义类的方法
  3. 封装的好处及步骤

(1)对象是类的实例,类的对象的抽象:简单来说就是这样,类是一个抽象的东西它里面可以放有很多的属性和方法。当我们想要使用到类中的方法时就要对这个类进行实例化,也就是创建这个类的对象,来调用类中的方法或者使用类中的属性。我们可以由一个类创建多个对象

(2)定义类的方法,第一步:发现类   第二步:发现类的属性  第三步:发现类的方法。    这样你就可以定义出一个你所需要的类。

(3)封装的好处在于,隐藏类的内部细节;让使用者只能通过程序规定的方法来访问数据;可以方便地加入存取控制语句,限制不合理操作。

单词:

  1. class:类

  2. object:对象

  3. static:静态
  4. finail:java中用来定义常量的关键字

  5. private:私有
  6. public:公有

  7. protect:保护
  8. penguin:企鹅

  9. health:健康
  10. love:爱

  1.2.1  创建类和对象

 

  下面就是一个类:

public class Penguin{        String name = "无名氏";        int health = 100;        int love = 0;        String sex = "Q仔";        public void print(){         System.out.println("宠物名"+this.name+"健康值:"+this.health+"亲密度:"+this.love+"性别:"+this.sex+"。");                }}

  那么怎么创建一个对象呢?

  我们通常是:

  通过构造方法来创建对象,如

Penguin p = new Penguin();

  想要调用其中的属性的话通过对象名.属性名的方式调用属性。如

p.name = "qq";

  调用方法通过  ==》 对象名.方法名。 如

p.print();

  Java中的常量,使用关键字 ”final“ 来修饰,并且常量名通常为大写。如

final    String     SEX_MALE  =  "Q仔";final    String     SEX_FEMALE = "Q妹";

常量是指在定义完了以后就不能被修改的一个属性,常量在程序运行过程中不会发生变化,只能被引用,不能被重新赋值,也就是只能在定义时修改其值。

 1.2.2    构造方法及其重载

什么是构造方法?构造方法就是名称和类名相同,没有返回值类型的方法。构造方法的主要作用就是在创建对象的过程中执行一些初始化操作,如给成员属性赋初始值。

知识点==》Java和C#一样,在没有给类提供任何构造方法时,系统会提供一个无参的方法体为空的默认构造方法。一旦提供了自定义构造方法,系统将不再提供这个默认的无参构造方法。如果要使用它,则程序员要自己手动添加一个无参构造方法。

方法的重载:方法名相同参数类型不同或者个数不同 返回值不要求。

1.2.3    static修饰符

static修饰符可以用来修饰属性、方法和代码块。static修饰的变量称为类变量(类属性)方法称为类方法。不使用static修饰的属性和方法属于单个对象,称为实力属性和实例方法。

在方法里不可以定义static变量,也就时说,类变量不能时局部变量。(不能在方法里定义静态属性)

 

  封装是面向对象的三大特性之一,就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。

  封装的具体步骤:修改属性的可见性来限制对属性的访问;为每个属性船舰一对赋值(setter)方法和取值(getter)方法。用于对这些属性的存取;在赋值方法中,加入对属性的存取控制语句。

  封装的好处:隐藏类的实现细节;让使用这只能通过程序规定的方法来访问数据;可以方便地加入存取控制语句,限制不合理操作。

  封装时会用到多个权限控制来修饰成员变量和方法,区别如下:

1publicpublic表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

 

2privateprivate表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

 

3protectedprotected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部classprotected就变成private

作用域 当前类 同一package 子孙类 其他package 

public       √ √ √ √ 

protected √ √ √ × 
friendly     √ √ × × 
private     √ × × × 
不写时默认为friendly 

  1.2.4   使用this关键字

  this关键字是对一个对象的默认引用。在每个实例方法内部,都有一个this引用变量,指向调用这个方法的对象。

this使用的实例:

public void set Name(String name){      this.name=name;   //成员变量和局部变量同名,必须使用this}public void setName(String xm){      name=xm;     //成员变量和局部变量不同名,this可以不使用this}

 

使用this调用成员方法:

public void play(int n){     health = health - n;     this.print();       //this可以忽略,直接调用print();}

 

使用this调用重载的构造方法,只能在构造方法中使用,必须是构造方法的第一条语句。

public Penguin(String name ,String sex){      this.name = name ;       this.sex = sex;}public Penguin(String name,int health,int love,String sex){     this(name,health);     this.love = love;     this.sex = sex;}

 

 知识点==》因为this在对象内部指代自身的引用,所以this只能嗲用实例变量、实例方法和构造方法。

this不能调用类变量和类方法(静态方法,静态变量),也不能调用局部变量。

 

转载于:https://www.cnblogs.com/RCJL/p/8886763.html

你可能感兴趣的文章
webservice ssl 1 SSL/TLS 协议入门
查看>>
Struts2的Stack Context和ValueStack
查看>>
php向html里传递数据,数据内容是url地址
查看>>
Cocoa 框架 For iOS(二)对象的分配初始化、内省、单例
查看>>
Objective-C语法之NSDictionary和NSMutableDictionary
查看>>
Linux配置防火墙详细步骤(iptables命令使用)
查看>>
详细讲解CAShapeLayer
查看>>
hadoop 一些基本问题
查看>>
分手就在眼前...
查看>>
我真是不再年轻
查看>>
解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
查看>>
Observer_观察者模式_PHP语言描述
查看>>
好用但不常用sql积累
查看>>
你真的会用AsyncTask吗?(二)
查看>>
Java evelen Swing程序设计基础--JFrame窗体
查看>>
微公众号开发
查看>>
YII2路由优化
查看>>
#xubuntu#字体丑的问题
查看>>
饿了么订单--快到碗里来
查看>>
数据库Sharding的基本思想和切分策略
查看>>