抽象类也有构造函数 阅读更多 关于 抽象类也有构造函数 抽象类是不可以直接被我们new出来,但是可以被它子类的构造函数调用 抽象只是代表它希望有人继承它,实现它的某些方法,并不是说,它永远不能被使用,类的初始化顺序你要清楚, 父类的静态成员,静态初始化块,子类静态成员,静态初始化块,父类成员变量,父类构造函数,子类成员变量,子类构造函数 来源: CSDN 作者: klarclm 链接: https://blog.csdn.net/klarclm/article/details/7954768
引用类型用法总结 阅读更多 关于 引用类型用法总结 引用类型用法总结 实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类型也是可以的。 class作为成员变量 类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。 定义自定义类 package demo04; public class Car { private String name; private String color; public Car(String name, String color) { this.name = name; this.color = color; } public Car() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } } 使用自定义类作为类的成员变量 package demo04; public class Student {
Spring Boot相关知识(二) Spring Boot项目启动的执行顺序和原理 阅读更多 关于 Spring Boot相关知识(二) Spring Boot项目启动的执行顺序和原理 1. 环境,程序入口 @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } @RestController public class RootController { public static final String PATH_ROOT = "/"; @RequestMapping(PATH_ROOT) public String welcome() { return "Welcome!"; } } 这里的几行代码就是Spring BootWeb程序,入口是main方法,当访问url的path部分为”/”时,返回字符串”Welcome!”。 解释:在这个main方法中,调用了SpringApplication的静态run方法,并将Application类对象和main方法的参数args作为参数传递了进去。 public static ConfigurableApplicationContext run(Object source, String... args) { return run(new Object[] { source }, args);
Python【day 16-2】面向对象-成员 阅读更多 关于 Python【day 16-2】面向对象-成员 类的变量分成2种: 1、成员变量 概念:在构造方法中的变量,前面带有self 作用:可以在类中不同的方法间使用 2、类变量-静态变量 概念:在类中,构造方法和普通方法之外,定义的变量 作用: 1、调用 1、类名可以调用 类名.类变量 2、对象名也可以调用 对象名.类变量 2、修改 1、只能是类名才能修改 类名.类变量 = 类变量的新值 2、对象名不能修改 特别注意:如果用 对象名.类变量=值,这个是对对象新增了一个属性,和类变量没有任何关系 总结: 1、类变量用类名来操作(访问和修改),比较规范 类变量就不要用对象名来操作 2、类变量建议写在类中的构造方法之前,也是规范 类中的方法分类: 1、成员方法-实例方法-最常见 1、写法 第一个参数是self,对象本身 2、调用 对象来调用成员方法 2、静态方法-函数 1、写法 1、参数,不需要传self 2、方法名字前面加上@staticmethod 2、调用 类名来调用静态方法 3、例子 字典中的fromkeys 就是一个静态方法 4、适用场景 当做函数来看 3、类方法 1、写法 1、第一个参数是cls,表示类名 2、方法名上方加上@classmethod 2、调用 类名来调用类方法 3、适用场景 可以在类方法中创建对象 类中的属性 1、概念 用一个方法的返回值来表示属性 2、写法 1、 @property 2
this和super 阅读更多 关于 this和super this 1、this表示当前对象 2、它可以出现在: (1)非静态代码块和构造器:this表示正在new的那个对象 (2)非静态方法:this表示调用这个方法的对象 3、用法: (1)this.成员变量 当成员变量与局部变量同名时,在成员变量的前面加“this.” 这个成员变量可以是本类声明的,也可以从父类继承的,但是要求是在子类中可见的成员变量并且是不和子类的成员变量同名 (2)this.成员方法 这个成员方法可以是本类声明的,也可以从父类继承的,但是要求是在子类中可见的成员方法,并且是没有重写 (3)this()和this(实参列表) 只能访问本类的其他构造器 而且必须在构造器首行 super 1、super:表示当前对象中从父类继承的 2、通过super访问的成员变量、成员方法、构造器等,都必须在子类中可见 3、用法 (1)super.成员变量 当子类的成员变量与从父类继承的在子类中依然可见的成员变量同名时,可以使用“super.成员变量”来区别 当然,就算不同名,通过“super.成员变量”也可访问到从父类继承的在子类中依然可见的成员变量 (2)super.成员方法 当子类重写了父类的成员方法,又想要调用父类被重写的成员方法时,可以使用“super.成员方法” 当然,不重写的话,也可以通过“super.成员方法”来访问从父类中继承的在子类中依然可以见的成员方法 (3
继承 阅读更多 关于 继承 目的: (1)代码复用: 延续父类的特征 (2)代码的扩展: 扩展父类没有的特征 (3)表示is-a的关系 子类 is a 父类的派别 例如:学生 is a 人 如何继承 语法格式: 1 【修饰符】 class 父类{ 2 3 } 4 【修饰符】 class 子类 extends 父类{ 5 6 } 继承的特点 1、Java只支持单继承,每一个子类只有一个直接父类 2、Java支持多层继承,父类还可以有父类 3、子类会继承父类所有特征,包括成员变量、成员方法,哪怕是私有的,私有的在子类中无法直接使用 4、子类不会继承父类的代码块、构造器等 5、但是子类一定会调用父类的实例初始化方法 继承时成员变量问题 1、子类会继承父类的所有的成员变量 子类创建对象时,在堆内存中是要为从父类继承的成员变量分配内存空间 2、如果子类声明了与父类同名的成员变量 此时,如果想要访问父类的同名的成员变量,那么可以使用super.,但是前提条件,这个成员变量没有私有化。如果私有化了,只能通过父类中的get/set来操作它 继承时成员方法问题 1、子类会继承父类的所有的成员方法 2、如果父类的某个方法的方法实现不适用于子类,那么子类可以选择重写 重写的要求: (1)方法名必须相同 (2)形参列表必须相同 (3)返回值类型 void和基本数据类型:必须相同 引用数据类型:<= (4)权限修饰符:>= (5
Java第4章学习总结 阅读更多 关于 Java第4章学习总结 第4章 类与对象 4.1编程语言的几个发展阶段 面向对象编程的三个特性:封装性、继承、多态 4.2类 ①类的定义包括类声明和类体 class 类名{ 类体的内容 } class是关键字,用来定义类。 “class 类名”是类的声明部分。 ②成员变量在整个类内都有效 ③局部变量没有默认值 局部变量的名字可以与成员变量的名字相同,若想要在该方法中使用被隐藏的成员变量,必须使用关键字this。 4.3构造方法与对象的创建 ①类中的构造方法的名字必须与它所在类的名字完全相同,而且没有类型。 4.4类与程序的基本结构 4.5参数传值 在java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的值的拷贝。 4.7实例成员与类成员 代码调试中的问题和解决过程 来源: CSDN 作者: 今天也想吃冰淇淋 链接: https://blog.csdn.net/qq920896923/article/details/83052119
快速查看 阅读更多 关于 快速查看 1.Math.random Math.random()*10 输出随机变量方法,使用:"Math.random() * 数量" 如:(int)(Math.random()*10); //随机取一个10以内的整数 例如:定义一个随机1到5(取不到5)的变量 [1,5) Math.random()*(n-m)+m,生成大于等于m小于n的随机数; int number=(int)(Math.random() (5-1)+1); int number = (int)(Math.random() 4+1);取值正好是[1,5) 2.length length() 方法用于返回字符串的长度。 1 //例 2 public class Test { 3 public static void main(String args[]) { 4 String Str1 = new String("www.runoob.com"); 5 String Str2 = new String("runoob" ); 6 7 System.out.print("字符串 Str1 长度 :"); 8 System.out.println(Str1.length()); 9 System.out.print("字符串 Str2 长度 :"); 10 System.out.println(Str2.length
javase阶段考试二(面向对象阶段)测试题及答案 阅读更多 关于 javase阶段考试二(面向对象阶段)测试题及答案 一、 简答题(每题 5 分,共计 40 分) 1. 什么是类?什么是对象?类与对象的关系是什么? 类简单来说就是 " 分类 " ,是多个对象共性提取的抽象描述,在 Java 中是一种引用数据类型,里面包含了描述特征的成员变量,以及描述行为的成员方法。 类是一种抽象的概念,用于描述对象创建的模板,而对象是客观存在的实体,本质上就是内存空间中的一块区域,对象的数据结构取决于类。 2. 请写出类、属性、行为以及引用和对象声明的语法格式。 class 类名 { 数据类型 成员变量名 ; 返回值类型 方法名称 ( 形式参数列表 ){ 方法体; } } 类类型 对象名 = new 类类型 (); 3. 简述构造方法的语法形式以及主要特点。 class 类名 { 类名 ( 形参列表 ){ 构造方法体 ; } } a 构造方法的名称与类名完全相同; b. 构造方法没有返回值类型,连 void 都不能写; c. 构造方法用于在创建对象时被自动调用,从而实现该对象成员变量的初始化工作; 4. this 关键字的基本概念和常见使用场合是什么? 在构造方法中, this 代表当前正在构造的对象。 在普通方法中, this 代表当前正在调用的对象,也就是调用对象。 当形参名 / 局部变量和属性同名时,需要使用 this 关键字通过 . 来明确表示属性变量,从而提高代码的可读性和正确性
深入理解static关键字 阅读更多 关于 深入理解static关键字 在开始讲static之前,我想让各位看一段有意思的代码: public class Test { static{ System.out.println("test static 1"); } static{ System.out.println("test static 2"); } public static void main(String[] args) { } } 看完程序,小白童鞋发话了:啥玩意?main方法中啥都没有,能运行啥?博主你个星星星... 运行结果: test static 1 test static 2 小白童鞋:那啥...那啥...博主我说啥了,我啥都没说... 其实,上面的代码懂的自然懂,不懂的自然就不懂了,因为上面的代码涉及到JVM的类加载了!当然不在本篇博客文章的范畴内,如果有兴趣理解上面的程序,这篇文章可能会对你有所帮助 别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】 1、static存在的主要意义 static的主要意义是在于创建独立于具体对象的域变量或者方法。 以致于即使没有创建对象,也能使用属性和调用方法 ! static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能 。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候