31.面向对象中两个重要的概念:类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)
32.虚拟机栈,即为平时提到的栈结构。局部变量存储在栈结构中;new出来的结构(比如:数组、对象)加载在堆空间中。
补充:对象的属性(非static的成员变量)也是加载在堆空间中。int arr [ ] = new arr [ ],以等号“=”为界,左边是局部变量存放在栈,右边是new 的机构,存放在堆中。
方法区:类的加载信息、常量池、静态域
33.“属性”与“变量”的区别:
① 在类中声明的位置的不同属性:
直接定义在类的一对{}内。局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量。
② 关于权限修饰符的不同属性:
可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private、public、缺省、protected —>体现为封装性。局部变量:不可以使用权限修饰符。
③ 默认初始化值的情况属性:
类的属性,根据其类型,都默认初始化值。整型(byte、short、int、long:0)、浮点型(float、double:0.0)、字符型(char:0 (或’\u0000’))、布尔型(boolean:false)、引用数据类型(类、数组、接口:null)局部变量:没默认初始化值。意味着,我们在调用局部变量之前,一定要显式赋值。特别地:形参在调用时,我们赋值即可。
④在内存中加载的位置属性:
加载到堆空间中 (非static)。局部变量:加载到栈空间。
34.如果方法没返回值,“return;”表示结束此方法的意思。
35.封装性思想具体的代码体现:
36.权限修饰符的范围:
正在上传…重新上传取消
37.4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类。修饰类的话,只能使用:缺省、public。
38.如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器。
39.一个类中定义的多个构造器,彼此构成重载。
40.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器。
41.一个类中,至少会有一个构造器。
42.this可以理解为:当前对象或当前正在创建的对象。
43.可以显式的使用"this(形参列表)"方式,调用本类中指定的其他构造器,但是构造器中不能通过"this(形参列表)"方式调用自己(死循环)。
44.规定:"this(形参列表)“必须声明在当前构造器的首行,可以推出构造器内部,最多只能声明一个"this(形参列表)”,用来调用其他的构造器。
45.如果使用的类或接口是java.lang包下定义的,则可以省略import结构。使用"xxx.*"方式表明可以调用xxx包下的所有结构。但是如果使用的是xxx子包下的结构,则仍需要显式导入。
46.一个类可以被多个子类继承(一个爸爸可以有多个儿子),但是一个类只能有一个父类(一个儿子只能有一个亲生爸爸)
47.子类继承父类以后有哪些不同?一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然是获取了父类中私的结构,只因为封装性(private权限修饰符)的影响,使得子类不能直接调用父类的结构而已。子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。
48.子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类。子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法。
49.如果没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类。
50.方法的重写(override 或 overwrite)。
子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作。
今天的分享就到这里,希望对你能有所帮助。
当然,在提高代码能力的同时,也可以适当选择一些工具加快应用开发效率,比如低代码平台,这对无数编程后台者或新近学编程的人是巨大福音,对急于降本增效、提升竞争力的企业也是福音。基于Java语言进化而来的“捷码”低代码平台,是国内目前最新锐、最优秀的全技术栈低码PAAS开发工具之一,为广大的IT同行提供了一条专业的、低码化、迅捷开发的路径,一般1年左右工作经验的Java开发人员,经过短期的实战培训和学习,均能熟练使用捷码进行项目开发。即使是刚进入职场的毕业生或0基础的初学者,在捷码低代码平台花3~5天学习,基本就能顺利掌握平台功能并完成简单demo展示,快速提升自己的低码开发能力。捷码低代码平台的开发能力基于Java而超越Java,在线化的开发环境,更能支持多人协同的开发模式和跨平台开发模式,是ISV交付利器,也是程序员提升自身开发实力和积累的神器。