Java面向对象(Object Oriented Programming)02

this关键字

this的作用:this表示的是当前对象本身,更准确的说,this代表当前对象的一个引用。This代表当前对象自身的引用(必须new)。This可以修饰属性,区别成员变量和局部变量。

普通方法中使用this:1.区分类成员属性和方法形参。2.调用当前对象的其他方法。

构造方法使用this:1.使用this来调用其他方法。2.位置 This修饰构造方法必须是第一条语句。

this不能用于static(静态)方法。//因为 在调用该方法时,不会将对象的引用传递给它。

static关键字

在类中使用static声明的成员变量为静态变量,或者叫做:类属性、类变量。

使用static声明的方法为静态方法,它是不需要对象就可以调用的(类名.方法名);

在调用该方法时,不会将对象的引用传递给它,所以在static方法中不能访问非static的成员。
静态方法不能以任何方式引用this和super关键字。
静态属性的访问形式:1.对象名.属性 、2.类名.属性
静态方法 – 访问修饰符 static 返回值类型 方法名(){ }
访问形式:1.对象名.方法名() 、2.类名.方法名();
static代码块:只执行一次,最早执行的(类第一次调用)

代码块

概念: 使用”{}”括起来的一段代码。
分类:根据位置可分类
 普通代码块 — 直接在方法或语句中定义的代码块
 构造代码块 — 直接写在类中的代码块
 静态代码块 — 使用static声明的代码块

pakage

pakage是为了解决类之间的重名问题。为了便于管理类,合适的类位于合适的包。
包名:域名倒着写即可,再加上模块名,并不内部管理类

Import

我们如果用到其他包的类时,只能这么写:java.util.Date,代
码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在
本类中直接通过类名来调用。
java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。
如果导入两个同名的类,只能用包名+类名来显示调用相关类:
java.util.Date date = new java.util.Date();
import static 静态导入:用于导入指定类的属性。
如何使用:
import static java.lang.Math.*;//导入Math类的所有静态属性
import static java.lang.Math.PI;//导入Math类的PI属性
– 然后,我们可以在程序中直接使用:System.out.println(PI);

面线对象三大特征之一 —封装(继承、多态)

封装的概念 :将类的某些信息隐藏在类内部,不允许外部程序直接访
问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
优点: 只能通过规定方法访问数据 隐藏类的实现细节、方便加入控制语句、方便修改实现。
隐藏/封装隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系
统的可扩展性、可维护性。 就好比 , 看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的 结构吗?
我们程序设计要追求“高内聚,低耦合”。
高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;
低耦合 :仅暴露少量的方法给外部使用。
封装的步骤:1. 修改属性的可见性、2.创建公有的 getter/setter方法、3.在 getter/setter方法中加入属性控制语句。

面向对象的三大特征

继承(inheritance)

子类 、父类:1.子类可以从父类继承属性和方法。2.子类可以提供自己单独的属性和方法。

隐藏/封装(encapsulation)

1.对外隐藏某些属性和方法     2.对外公开某些属性和方法

多态 (polymorphism)
为了适应需求的多种变化,使代码变得更加通用!
面向过程只有封装性(功能的封装,而没有数据的封装),没有继承和多态
使用访问控制符,实现封装
成员(成员变量或成员方法)访问权限共有四种:
 public 公共的
 可以被项目中所有的类访问。(项目可见性)
 protected 受保护的
 可以被这个类本身访问;同一个包中的所有其他的类访问;被它的子类(同一个包以及不同包中     的子类)访问
 default/friendly 默认的/友好的(包可见性)
 被这个类本身访问;被同一个包中的类访问。
 private 私有的
 只能被这个类本身访问。(类可见性)

 

类的访问权限只有两种
public 公共的
可被同一项目中所有的类访问。 (必须不文件名同名)
default/friendly 默认的/友好的
可被同一个包中的类访问
封装要点:
 类的属性的处理:
1.一般使用private. (除非本属性确定会让子类继承)
2.提供相应的get/set方法来访问相关属性. 这些方法通常是public ,从而提供对属性的读取操。(注意:boolean变量的get方法是
用:is开头!)
  —些只用于本类的辅助性方法可以用private,
希望其他类调用的方法用public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值