Java教程

java---面向对象2

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!