本文主要是介绍java---面向对象2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
文章目录
前言
一、this关键字
this关键字
二、static关键字
static 关键字
三、代码块
代码块
四、package
pakage
五import
I mport
六封装
封装
什么是封装
封装的概念
封装的好处
使用
前言
学习了java中的一些新知识
以下是本篇文章正文内容,下面案例可供参考
一、this关键字
二、static关键字
三、代码块
四、package
五import
六封装
this关键字
▪ this的作用:
this表示的是当前对象本身,
更准确地说,this代表当前对象的一个引用。
普通方法中使用this。
区分类成员属性和方法的形参.
调用当前对象的其他方法(可以省略)
位置:任意
构造方法中使用this。
使用this来调用其它构造方法
位置:必须是第一条语句
this不能用于static方法。
static 关键字
在类中,用static声明的
成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
对于该类的所有对象来说,
static成员变量只有一份。被该类的所有对象共享!!
可以使用
”对象
.类属性
”来调用。不过,一般都是用
“类名
.类属性”
static变量置于方法区中!
用static声明的方法为
静态方法
不需要对象,就可以调用(类名.方法名)
在调用该方法时,不会将对象的引用传递给它,所以在
static方法中不可访问非
static的成员。
静态方法不能以任何方式引用this和super关键字
静态属性的访问形式
– (1)对象名.属性
– (2)类名.属性
▪
静态方法
– 访问修饰符
static 返回值类型 方法名(){}
▪
访问形式
– (1)对象名.方法名();
– (2)类名.方法名
代码块
▪
概念:使用”{}”括起来的一段代码
▪
分类:根据位置可分类
▪ 普通代码块直接在方法或语句中定义的代码块
▪ 构造代码块直接写在类中的代码块
▪ 静态代码块使用static声明的代码块
pakage
▪ 为什么需要package?
– 为了解决类之间的重名问题。
– 为了便于管理类:合适的类位于合适的包!
▪ package怎么用?
– 通常是类的第一句非注释性语句。
– 包名:域名倒着写即可,再加上模块名,并不内部管理类。
▪ 注意事项:
▪ 写项目时都要加包,不要使用默认包。
▪ com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是
逡辑上看起来后者是前者的一部分。
Import
为什么需要import?
如果不适用import,我们如果用到其他包的类时,只能这么写:java.util.Date,代
码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在
本类中直接通过类名来调用。
import怎么使用?
import java.util.*; //导入该包下所有的类。会降低编译速度,但不会降低运行速度。
封装
什么是封装
▪面向对象三大特征之一 ——封装
封装的概念
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访
问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装的好处
隐藏类的实现细节只能通过规定方法访问数据,方便加入控制语句,方便修改实现
使用
修改属性的可见性
设为
private
创建公有的
getter/setter 方法
用于属性的读写
在
getter/setter
方法中加
入属性控制语句
对属性值的合法
性进行判断
▪
方法调用中的参数传递(重中之重)
– 基本数据类型的参数传递:不能改变参数的值
– 引用数据类型的参数传递:不能改变参数的值
▪ this
– This代表当前对象自身的引用(必须new)
– This可以修饰属性,区别成员变量和局部变量
– This修饰方法
– This修饰构造方法(必须是第一条语句)
▪ static
– static变量:只有一份,属于类,可以类名. Static变量
– static方法: 类名. Static方法,不能出现this和super
– static代码块:只执行一次,最早执行的(类第一次调用)
▪ package import
– 包:作用
– 导入:import com.bjsxt.oop.*;
– 静态导入: import static java.lang.Math.PI;
继承 inheritance
–子类 父类
–子类可以从父类继承属性和方法
–子类可以提供自己单独的属性和方法
▪封装/隐藏encapsulation
–对外隐藏某些属性和方法
–对外公开某些属性和方法
▪多态 polymorphism
–为了适应需求的多种变化,使代码变得更加通用!
▪面向过程只有封装性(功能的封装,而没有数据的封装),没有继承和多态
这篇关于java---面向对象2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!