07 2021 档案
摘要:抽象类和接口的区别: 抽象类只能被继承,而且只能单继承。 接口需要被实现,而且可以多实现。 抽象类中可以定义非抽象方法,子类可以直接继承使用。 接口中都有抽象方法,需要子类去实现。 抽象类使用的是 is a 关系。 接口使用的 like a 关系。 抽象类的成员修饰符可以自定义。 接口中的成员修饰符
阅读全文
摘要:什么时候使用重写: 当父类方法无法满足子类需求,此时可以在子类中重写父类方法如果开发时,需要对父类方法功能拓展,此时还不想修改父类程序则使用继承(定义一个类继承父类),然后通过子类重写该方法,然后其他类进行调用这个子类方法; 子类被实例化时,先实例化父类对象 final修饰的类无法被继承; 构造方法
阅读全文
摘要:面向对象三个特征 1.继承 继承就是类之间的继承,使用extends来实现,从而实现代码的复用2.多态 某一种事物有不同的具体的体现就是多态。 多态体现在:重写、重载、对象实例化。 多态的好处:提高了程序的扩展性。 多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法
阅读全文
摘要:抽象关键字abstract和final , private , static不可以共存 抽象类可以不定义抽象方法,抽象方法目的仅仅为了不让该类创建对象。 代码体现: 1,私有化构造函数; 2,创建私有并静态的本类对象; 3,定义公有并静态的方法,返回该对象。
阅读全文
摘要:抽象类: abstract 抽象:不具体,看不明白。抽象类表象体现。 在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。 抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键
阅读全文
摘要:今天学习了: 当类与类之间存在着所属关系时,才具备了继承的前提。(注意:不要仅仅为了获取其他类中的已有成员进行继承。) 方法覆盖时注意:子类覆盖父类时,必须要保证,子类方法的权限必须大于等于父类方法权限可以实现继承。否则,编译失败;覆盖时,要么都静态,要么都不静态。 (静态只能覆盖静态,或者被静态覆
阅读全文
摘要:java中对于继承,java只支持单继承。(单继承:一个类只能有一个父类。多继承:一个类可以有多个父类) 子父类出现后,类中的成员的特点: 1:成员变量。 当子父类中出现一样的属性时,子类类型的对象,调用该属性,值是子类的属性值。 如果想要调用父类中的属性值,需要使用一个关键字:super This
阅读全文
摘要:代码体现: 1,私有化构造函数; 2,创建私有并静态的本类对象; 3,定义公有并静态的方法,返回该对象。 面向对象特征之一继承:提高了代码的复用性;让类与类之间产生了关系,提供了另一个特征多态的前提。 父类的由来:其实是由多个类不断向上抽取共性内容而来的。单继承:一个类只能有一个父类。多继承:一个类
阅读全文
摘要:静态代码块:就是一个有静态关键字标示的一个代码块区域,定义在类中 作用:可以完成类的初始化,静态代码块随着类的加载而执行,而且只执行一次(new 多个对象就只执行一次)。如果和主函数在同一类中,优先于主函数执行。 Public:访问权限最大。 static:不需要对象,直接类名即可。 void:主函
阅读全文
摘要:static关键字,是一个修饰符,用于修饰成员(成员变量和成员函数) 成员变量和静态变量的区别: 1,成员变量所属于对象,所以也称为实例变量。 静态变量所属于类,所以也称为类变量。 2,成员变量存在于堆内存中。 静态变量存在于方法区中。 3,成员变量随着对象创建而存在,随着对象被回收而消失。 静态变
阅读全文
摘要:构造代码块和构造函数的去别:构造代码块:是给所有的对象进行初始化。构造函数:是给与之对应的对象进行初始化(具有针对性) 面向对象特征之一封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式。(将变化隔离;便于使用;提高重用性;安全性) 原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公
阅读全文
摘要:构造函数:用于给对象进行初始化,是给与之对应的对象进行初始化(具有针对性);特点:该函数的名称和所在类的名称相同;不需要定义返 回值类型;该函数没有具体的返回值。注:所有对象创建时,都需要初始化才可以使用 一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个
阅读全文
摘要:其他类不能直接创建对象访问,所以只有通过本类对外提供具体的访问方式来完成对私有的访问,可以通过对外提供函数的形式对其进行访问(好处:可以在函数中加入逻辑判断等操作,对数据进行判断等操作) 主函数保证所在类的独立运行,是程序的入口,被jvm调用 成员变量和局部变量的区别:1.成员变量直接定义在类中;局
阅读全文
摘要:今天学习了面向对象的特点、匿名对象和成员 面向对象的特点:将复杂的事情简单化;面向对象将以前的过程中的执行者,变成了指挥者;面向对象这种思想是符合现在人们思考习惯的一种思想(过程就是函数,对象是将函数等一些内容进行了封装) 匿名对象的使用:当对方法只进行一次调用的时候,可以使用匿名对象;当对象对成员
阅读全文
摘要:java分了5片内存。 1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。 栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 ); 只要数据运算完成所在的区域结束,该数据就会被释放。 堆:用于存储数组和对象,也就是实体。啥是实体啊?就是用于封装多个数据的。 1:每一个实
阅读全文
摘要:今天学习了主函数,函数定义名称的作用和重载的定义 主函数:保证该类的独立运行,是程序的入口,被jvm调用。 函数定义名称的原因是为了对该功能进行标示,方便于调用。为了通过名称就可以明确函数的功能,为了增加代码的阅读性 重载:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者
阅读全文
摘要:今天学习了java的函数的格式、定义和作用 函数的格式: 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){ 执行语句; return 返回值; } 当函数没有具体的返回值时,返回的返回值类型用void关键字表示。 如果函数的返回值类型是void时,return语句可以省
阅读全文
摘要:今天学习了使用foreach操作数组和二维数组 使用foreach操作数组: 语法:for(元素类型 元素变量:遍历对象) { 执行的代码 } 二维数组:1.声明数组并分配空间(数据类型[ ][ ] 数据名 = new 数据类型[行的个数] [列的个数]) 2.赋值(可以通过下标来逐个赋值) 3.处
阅读全文
摘要:今天学习了使用Arrays类操作java中的数组 1.排序(Arrays.sort(数组名)):可以使用sort()实现排序只要将数组名放在sort()的括号中就可以完成对数组的升序排序 2.将数组转化为字符串(Array.to.String(数组名)):使用toString()讲一个数组转换成字符
阅读全文
摘要:今天学习了java的数组 1.声明数组语法: 数据类型[ ] 数组名;或者 数据类型 数组名[ ];其中,数组名可以是任意合法的变量名 2.分配空间就是指定数组中最多可存储多少个元素语法: 数组名 = new 数据类型 [ 数组长度 ];其中,数组长度就是数组中能存放元素的个数 3.赋值分配空间后就
阅读全文
摘要:今天学习了循环语句while循环、do...while循环和for循环;循环跳转语句break和continue do...while循环 特点: 先执行,后判断,do…while 语句保证循环至少被执行一次 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;”
阅读全文
摘要:今天学习了运算符包括算术运算符、赋值运算符、比较远算符、逻辑运算符和条件运算符的符号用法和优先级 还学习了 switch 后面小括号中表达式的值必须是整型或字符型; case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2;c
阅读全文
摘要:今天学习了 1.java的数据类型包括基本数据类型和引用数据类型。其中基本数据类型包括字符型、布尔型和数值型(整数类型和浮点类型) 2.在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。自动类型转换是需要满足特定的条件的:目标类型能与源类型兼容,如 double 型兼容 int
阅读全文
摘要:今天学习了JAVA跨平台原理 跨平台指的是java语言可以在任意操作平台运行 JRE是java程序的运行时环境,包括JVM和运行时所需要的核心类库。Jdk,使java程序开放工具包,包含JRE和开发人员使用的工具(编译工具和运行工具) 总结跨平台原理:在需要运行JAVA应用程序的操作系统上,安装一个
阅读全文