java关键字
2022/1/6 17:37:32
本文主要是介绍java关键字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//this关键字 /* this的作用: – this表示的是当前对象本身, – 更准确地说,this代表当前对象的一个引用。 ▪ 普通方法中使用this。 – 区分类成员属性和方法的形参. – 调用当前对象的其他方法(可以省略) – 位置:任意 构造方法中使用this。 – 使用this来调用其它构造方法 位置:必须是第一条语句 this不能用于static方法。*/ /*static 关键字 在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量. 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!! 可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性” static变量置于方法区中! 用static声明的方法为静态方法 不需要对象,就可以调用(类名.方法名) 在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。 静态方法不能以任何方式引用this和super关键字 ▪ 静态属性的访问形式 – (1)对象名.属性 – (2)类名.属性 ▪ 静态方法 – 访问修饰符 static 返回值类型 方法名(){} ▪ 访问形式 – (1)对象名.方法名(); – (2)类名.方法名(); 代码块 ▪ 概念:使用”{}”括起来的一段代码 ▪ 分类:根据位置可分类 ▪ 普通代码块直接在方法或语句中定义的代码块 ▪ 构造代码块直接写在类中的代码块 ▪ 静态代码块使用static声明的代码块 ▪ 同步代码块多线程的时候会学到 静态初始化块 ▪ 如果希望加载后,对整个类进行某些初始化操作,可以使用 static初始化块。 ▪ 类第一次被载入时先执行static代码块;类多次载入时,static代 码块只执行一次; static经常用来进行static变量的初始化。 ▪ 是在类初始化时执行,不是在创建对象时执行。 ▪ 静态初始化块中不能访问非static成员。 JDK中的主要包 java.lang 包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。 java.awt 包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图 形用户界面(GUI)。 java.net 包含执行不网络相关的操作的类。 java.io 包含能提供多种输入/输出功能的类。 java.util 包含一些实用工具类,如定义系统特性、使用不日期日历相关的函数 import static ▪ 静态导入的作用:用于导入指定类的静态属性 ▪ JDK5.0后增加! ▪ 如何使用: – import static java.lang.Math.*;//导入Math类的所有静态属性 – import static java.lang.Math.PI;//导入Math类的PI属性 – 然后,我们可以在程序中直接使用:System.out.println(PI); 为什么要使用封装 ▪ 下面代码有什么缺陷? Dog d = new Dog(); d.health = -1000; 属性随意访问,不合理的赋值 ▪ 如何解决上面设计的缺陷? 使用封装 什么是封装 ▪ 面向对象三大特征之一 ——封装 – 封装的概念 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访 问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 – 封装的好处 隐藏类的实现细节 只能通过规定方法访问数据 方便加入控制语句 方便修改实现 隐藏/封装(encapsulation) 为什么需要封装?封装的作用和含义? 我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的 结构吗?有必要碰碰显像管吗? 我要开车,…. 隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系 统的可扩展性、可维护性。 我们程序设计要追求“高内聚,低耦合”。 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉; 低耦合 :仅暴露少量的方法给外部使用。 如何使用封装 ▪ 封装的步骤 修改属性的可见性 设为private 创建公有的getter/setter 方法 用于属性的读写 对属性值的合法 性进行判断 在getter/setter方法中加 入属性控制语句 面向对象的三大特征 ▪继承 inheritance –子类 父类 –子类可以从父类继承属性和方法 –子类可以提供自己单独的属性和方法 ▪封装/隐藏encapsulation –对外隐藏某些属性和方法 –对外公开某些属性和方法 ▪多态 polymorphism –为了适应需求的多种变化,使代码变得更加通用! ▪面向过程只有封装性(功能的封装,而没有数据的封装),没有继承和多态 使用访问控制符,实现封装 ▪成员(成员变量或成员方法)访问权限共有四种: –public 公共的 ▪可以被项目中所有的类访问。(项目可见性) –protected 受保护的 ▪可以被这个类本身访问;同一个包中的所有其他的类访问;被它的子类(同一个包以及不同包中的子类)访问 –default/friendly 默认的/友好的(包可见性) ▪被这个类本身访问;被同一个包中的类访问。 –private 私有的 ▪只能被这个类本身访问。(类可见性) ▪类的访问权限只有两种 –public 公共的 ▪可被同一项目中所有的类访问。 (必须不文件名同名) –default/friendly 默认的/友好的 ▪可被同一个包中的类访问。 使用访问控制符,实现封装 同一个类 同一个包中 子类 所有类 private default protected public **** *** ** * 封装要点: •类的属性的处理: 1.一般使用private. (除非本属性确定会让子类继承) 2.提供相应的get/set方法来访问相关属性. 这些方法通常是public ,从而提供对属性的读取操作。 (注意:boolean变量的get方法是 用:is开头!) •一些只用于本类的辅助性方法可以用private, 希望其他类调用的方法用public 总结 ▪ 方法调用中的参数传递(重中之重) – 基本数据类型的参数传递:不能改变参数的值 – 引用数据类型的参数传递:不能改变参数的值 ▪ 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 */
这篇关于java关键字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南