首页 > 其他分享 >第四章 面向对象(2)

第四章 面向对象(2)

时间:2024-10-23 16:17:59浏览次数:3  
标签:关键字 变量 访问 静态 成员 面向对象 权限 第四章

一.this关键字

this关键字代表当前对象(哪一个对象在访问,this就表示哪个)

使用this关键字引用成员变量

使用this关键字引用成员方法或构造方法。

在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的 格式来引用成员变量名,常常用来区分同名的成员变量和局部变量

结果:

二.static关键字

1.特点:  

             随着类的加载而加载

             优先于对象存在

              修饰的成员,被所有对象所共享

              可不创建对象,直接使用类名调用

2.static属性

静态属性是类的所有对象共享的,即不管创建了多少个对象,静态属性在内存中 只有一个。

• 静态变量在类被加载时由系统默认初始化。

• 静态变量值是所有对象共享。

• 静态变量可以在任意方法、代码块、构造器中直接使用。

• 可以通过类名.静态变量直接访问,也可以通过对象.静态变量的方式访问(但是更推荐使用类名.静态变量的方式)。

示例代码:

三.代码块

在类中声明的一个没有名字的码块

1.实例代码块

        每次创建对象时自动调用,执行

2.静态代码块

        在类被加载时,会自动执行(只执行一次)

static { System.out.println();

        }

3.类什么时候会被加载?

(1)运行类时的main方法

(2)访问类中的静态成员变量,成员方法

(3)创建类的对象

四.包

问题: 项目越写越大,用到了类越来越多,会出现同名类, 如何按照不同的功能管理类

        java中使用包机制来管理类.

1.包的命名规范

包目前至少3级

第一级 项目类型 com org gov edu

第二级 公司名字 baidu sun huawei

第三级 项目名字 oa cms erp

第四级 功能模块 web service dao config

2.包的作用

(1)按照不同功能管理类

(2)避免类重名

(3)控制访问权限,:在不同的包中,对不同权限的成员进行访问限制

3.导入外部包的类,关键字 import

        当在一个类中使用其他包中的类时,需要先使用import关键字导入进来. 只有java.lang包中的类比较特殊,使用时不需要导入

五.访问权限修饰符

访问权限修饰可以修饰类,成员变量,成员方法, 内部类.

访问权限修饰符共有4种:

        public : 公共权限  修饰类,成员变量,成员方法, 内部类。

        protected: 受保护权限 修饰成员变量,成员方法, 内部类。

        什么都不写 : 默认权限 修饰类,成员变量,成员方法, 内部类。

        private : 私有权限 修饰成员变量,成员方法, 内部类。

六.面向对象特征--封装

一般意义的封装, 例如将重复出现的代码抽取了一个函数, 称为代码的封装(包装)

面向对象语言中的封装:

        将类中的某些信息,使用不同的访问权限修饰符隐藏起来,不让外界直接访问操作,而是通过类中         向外提供的特定的方法去访问操作. 方便加入控制语句,主动权就在我们类自己手中.

(1)快捷键生成get  set 变量

(2)快捷键生成有参,无参构造方法

封装案例1: 将类中成员变量私有化

封装案例2: 将类中的方法私有化

        java设计模式: 解决某种问题的固定的方式(算法)

        单例模式: 让一个类,在一个程序中只能创建一个对象.将类的构造方法私有化,外界不能随便调用向外界提供一个获取该类对象的方法.

标签:关键字,变量,访问,静态,成员,面向对象,权限,第四章
From: https://blog.csdn.net/2403_87587287/article/details/143184888

相关文章

  • 【第四章·键盘输入和屏幕输出】第一节:单个字符的输入/输出
    目录4.1.1字符常量转义字符ASCII码Unicode字符集4.1.2字符的输入输出getchar()和putchar()案例演示:字母大小写转换章节内容导读:        键盘输入和屏幕输出是编写简单的顺序结构程序时最常用到的操作。C程序中的键盘输入和屏幕输出都是通过调用输入......
  • python第四章课后习题
    点击查看代码importnumpyasnpimportcvxpyascpx=cp.Variable(6,pos=True)obj=cp.Minimize(x[5])a1=np.array([0.025,0.015,0.055,0.026])a2=np.array([0.05,0.27,0.19,0.185,0.185])a3=np.array([1,1.01,1.02,1.045,1.065])k=0.05;kk=[];qq=[]whil......
  • 第四章
    4.3importmatplotlib.pyplotaspltimportnumpyasnpimportcvxpyascpx=cp.Variable(6,pos=True)obj=cp.Minimize(x[5])a1=np.array([0.025,0.015,0.055,0.026])a2=np.array([0.05,0.27,0.19,0.185,0.185])a3=np.array([1,1.01,1.02,1.045,1.065])k=......
  • 面向对象(下):继承
    继承是面向对象(下)的第一节内容,也是后面整个面向对象(下)的学习基础,务必掌握扎实,对后面的学习会很有帮助。大二初学,欢迎各位大佬批评指正、不胜感激!继承:对共性进行抽取,达到代码的复用。父类→共性,子类→个性。 句式:public(修饰符)class 子类 extends 父类 先上一张面向对象......
  • 【JAVA】第二张_面向对象
    引言Java面向对象是一种编程方法论,它将软件系统看作是一组对象的集合,每个对象都有自己的状态和行为,并且能够相互之间进行通信和协作。java面向对象知识的思维导图1、面向对象思想面向对象(Object-Oriented)是一种编程思想和方法论,它的核心理念是将问题拆解成由对象组成的模......
  • 初始面向对象(上)
    大二学生,初始面向对象上,刚开始感觉颇有难度,不过经过反复思考和写代码后,难度也就相应降下来了。个人认为学java很重要一点就是要针对每个模块的知识做思维导图,这样各个知识点的联系就一清二楚了,这样写代码的时候才能写得更快。初学java,做的思维导图还有待完善。如果有的地方有错......
  • Java第四章
    1、类的继承类的继承可以实现代码的复用,是实现多态的基础。通过继承可以使多种事物之间形成一种关系体系。子类继承父类的属性和方法,使得子类对象具有父类的特征和行为。在程序中,如果想声明一个类继承一个类,需要使用extends关键字,语法格式如下:class父类{......}class子类......
  • 【STC15】面向对象的.h/.c程序架构
    .h文件#ifndef__MAIN_H_#define__MAIN_H_/*Includes------------------------------------------------------------------*/#include<STC15.h>/*externvariables-----------------------------------------------------------*//*externfunctionprot......
  • 面向对象与设计模式第一课:深入理解OOP
    第三章:面向对象与设计模式第一课:深入理解OOP面向对象编程(OOP)是一种编程范式,它将程序结构视为由对象组成,促进了代码的重用性和可维护性。在这一课中,我们将深入分析OOP的四个基本特性:封装、继承、多态和抽象,并提供相应的示例与实践。1.OOP基本特性1.1封装封装是OOP的核心......
  • Java面向对象之多态,向上转型我们大家庭的由来
    各位看官早安午安晚安呀如果您觉得这篇文章对您有帮助的话欢迎您一键三连,小编尽全力做到更好欢迎您分享给更多人哦大家好我们今天来学习Java面向对象的三大特性之一的继承,我们大家庭就要来啦~一:多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当......