成员变量

Spring Boot启动流程详解(一)

岁酱吖の 提交于 2019-11-27 15:44:21
环境 本文基于Spring Boot版本1.3.3, 使用了spring-boot-starter-web。 配置完成后,编写了代码如下: @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!"; } } 虽然只有几行代码,但是这已经是一个完整的Web程序,当访问url的path部分为"/"时,返回字符串"Welcome!"。 首先是一个非常普通的java程序入口,一个符合约定的静态main方法。在这个main方法中,调用了SpringApplication的静态run方法,并将Application类对象和main方法的参数args作为参数传递了进去。 然后是一个使用了两个Spring注解的RootController类

成员变量与局部变量

送分小仙女□ 提交于 2019-11-27 14:13:09
package day12; /** 局部变量与成员变量 */ public class Test { // 成员变量:定位类体内方法体外 作用域是整个类。使用时可以不赋值,执行默认值。 static boolean b; static int i; static char c; static double d; public static void main(String[] args) { System.out.println("b的默认值是:" + b);// 调用因未赋值,执行默认值 System.out.println("i的默认值是:" + i); System.out.println("c的默认值是:" + c); System.out.println("d的默认值是:" + d); // 局部变量:定义在方法体内,只对当前方法有效不能使用static修饰。使用前必须完成赋值。 int in = 700; System.out.println(in); method(); } public static void method() { System.out.println("这是自己定义的方法"); } } 来源: https://www.cnblogs.com/yueluoshuxiang/p/11367017.html

Objective-C的属性和成员变量用法及关系浅析

六眼飞鱼酱① 提交于 2019-11-27 13:06:11
在使用Objective-C语言进行了一段时间的iOS开发之后,发现自己的语言基础相对薄弱,于是开始弥补自己的短处。我发现在用过一种语言之后,再回过头来看它的很多原理会发现有更加深刻的理解。下面就对一直困惑我的属性和成员变量的用法和关系问题进行浅析,由于水平有限可能会有错误,请看过文章的人多多指正。 1、属性 关于属性的用法在苹果的官方文档《The Objective-C Programming Language》中有详细的说明,在这里就不再赘述,链接如下: 《The Objective-c Programming Language》 如果你的英文不好,没关系,已经有人把这个文档全部翻译完了,链接如下: Objective-C编程语言官方文档翻译 2、关于@synthesize object = _object 的解释 我们在很多代码中会见到这样的写法: [plain] view plain copy @interface MyClass:NSObject{   MyObjecct *_object; } @property(nonamtic, retain) MyObjecct *object; @end @implementatin MyClass @synthesize object=_object; 我在网上查阅了一些和其他人写的博文,总结了这样写的几条原因如下: (1

java中this用法详解

◇◆丶佛笑我妖孽 提交于 2019-11-27 12:36:23
一:用法总括   this关键字必须放在非静态方法内:   this关键字代表自身,在程序中主要的使用用途有以下几个方面:   1:引用成员变量。   2:在自身构造方法内部引用其他构造方法。   3:代表自身类对象   4:引用成员方法 二:引用成员变量   在一个类的方法或构造方法内部,可以使用“this.成员变量名”来引用成员变量,参数名与成员变量名重叠时不能省略,不重叠时可以省略。 例如: public class ReferenceVariable { private int a; public ReferenceVariable(int a) { this.a = a; } public int getA() { return a; } public void setA(int a) { this.a = a; } }   构造方法和set方法内部参数a与成员变量a名称一样,变量名发生重叠,java语言规定当变量名作用范围重叠时,作用域小的变量覆盖作用域大的变量。当然,为了增加代码的可读性,一般将参数名和成员变量名设为一致,这样访问成员a则必须使用this进行引用。 三:引用构造方法   在一个类的构造方法内部,也可以使用this关键字引用其他的构造方法,达到优化代码的目的。 例如: public class ReferenceConstructor { private

java13关键字

断了今生、忘了曾经 提交于 2019-11-27 12:07:19
  this 关键字 this调用构造方法有参构造this(参数列表),无参构造this(); this必须写在方法中的第一行 当成员变量和局部变量重名时可以在成员变量名前面加上this.来区别成员变量和局部变量 super关键字 在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句。 子类会继承父类中的内容,所以子类在初始化时,必须先到父类中去执行父类的初始化动作。这样,才可以使用父类中的内容。 格式 当父类中没有空参数构造方法时,子类的构造方法必须有显示的super语句,指定要访问的父类有参数构造方法。 super也要写在第一行 当this和super同时存在是因为都要写在第一行 可以把this写到super调用的方法里面 调用本类中的构造方法 this(实参列表); 调用父类中的空参数构造方法 super(); 调用父类中的有参数构造方法 super(实参列表); final关键字 继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,需要使用到一个关键字final,final的意思为最终,不可变。final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。不能修饰构造方法。

Java中深浅拷贝

帅比萌擦擦* 提交于 2019-11-27 10:41:41
一,浅拷贝 ①对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。因为是两份不同的数据,所以对其中一个对象的该成员变量值进行修改,不会影响另一个对象拷贝得到的数据。 ②对于数据类型是引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等,那么浅拷贝会进行引用传递,也就是只是将该成员变量的引用值(内存地址)复制一份给新的对象。因为实际上两个对象的该成员变量都指向同一个实例。在这种情况下,在一个对象中修改该成员变量会影响到另一个对象的该成员变量值。 二,深拷贝 设想一下,一个类有一个对象,其成员变量中又有一个对象,该对象指向另一个对象,另一个对象又指向另一个对象,直到一个确定的实例。这就形成了对象图。那么,对于深拷贝来说,不仅要复制对象的所有基本数据类型的成员变量值,还要为所有引用数据类型的成员变量申请存储空间,并复制每个引用数据类型成员变量所引用的对象,直到该对象可达的所有对象。也就是说,对象进行深拷贝要对整个对象图进行拷贝! 三,总结 深拷贝对引用数据类型的成员变量的对象图中所有的对象都开辟了内存空间;而浅拷贝只是传递地址指向,新的对象并没有对引用数据类型创建内存空间。 四,深浅拷贝实现方法 public class Person implements Cloneable { private String name;

Java入门第二季

╄→гoц情女王★ 提交于 2019-11-27 10:24:39
第一章 类和对象 1-1 什么是类和对象 1、对象的概念? 万物皆对象,客观存在的事物皆为对象 2、什么是面向对象 人关注对象(事物信息) 3、类 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 类的特点:类是对象的类型;具有相同属性和方法的一组对象的集合。 4、什么是对象的属性 每个对象的每个属性都有特定值 5、 什么是对象的方法 方法-对象执行的操作 6、 类和对象的关系/区别 类是抽象的概念,仅仅是模板;对象是具体的实体。 1-2 如何定义类 所有Java程序都以类class为组织单元 定义一个类的步骤:a.定义类名;b编写类的属性;c.编写类的方法。 1-3 如何使用对象 使用对象的步骤: 1、创建对象:类名 对象名=new 类名(); 2、使用对象 引用对象的属性:对象名.属性 phone.screen=5.0//给screen属性赋值5 引用对象的方法:对象名.方法名(); phone.sendMessage();//调用sendMessage()方法 1-5 成员变量和局部变量 成员变量:在类中定义,用来描述对象将要有什么。 局部变量:在类的方法中定义,在方法中临时保存数据。 成员变量和局部变量的区别 1、作用域不同 局部变量的作用域仅限于定义它的方法,成员变量的作用域在整个类内部都是可见的。 2、初始值不同 成员变量有一个初始值,局部变量没有初始值。 3

java之类和对象

谁说我不能喝 提交于 2019-11-27 04:38:06
1.1 类和对象 1.1.1 什么是类 类是一组相关 属性 和 行为 的集合。如人类、动物类、植物类等。 属性 :就是该事物的状态信息。 行为 :就是该事物能做什么。 举例:猫类 属性:名字、体重、年龄、颜色等。 行为:走、跑、叫等。 1.1.2 什么是对象 对象:是一类事物的具体体现。对象是该类的一个 实例 ,必然具备该类事物的属性和行为。 1.1.3 类与对象的关系 类是一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体 。 1.2 类的定义 1.2.1 事物与类的对比 现实世界的事物: 属性:事物的状态信息。 行为:事物能做什么。 java中描述事物 : 属性:对应的是 成员变量 。 行为:对应的是 成员方法 。 1.2.2 类的定义格式 public class className{ //成员变量 //成员方法 } 定义类:就是定义类的成员;包含成员变量和成员方法。 成员变量:与面向过程定义的方式一样,只不过位置发生了改变。 在类中,方法外 。 成员方法:和之前定义方法一样,但是要 去掉static修饰符 。 public class Student { //创建成员变量 String name; int age; //创建成员方法 public void study() { System.out.println("学生在学习");

面试宝典

末鹿安然 提交于 2019-11-27 03:25:36
面向对象的语言三大特性:封装,继承,多态 封装: 数据封装:只提供公共接口,不让类以外的程序访问 方法封装:接口不变,内容的修改不会影响到外部的调用 对象含有完整的属性和与之对应的方法 多态允许同一个接口被必于同一个类的多个动作使用 实现多态:重载和继承 重载:两个和以上的方法函数,方法具有不同的参数 继承:对象的一个新类可以从已有的类中派生 能用for each遍历的必须是数组或者集合对象 实现IEnumerable接口或者getENumerator方法 值类型—〉引用类型 装箱 Const成员就是static类型的 Float—〉int 舍去小数位 Sealed 密封类,不可以继承 用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其它类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理 有了GC (垃圾收集)不用担心内存泄露 abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类。抽象类与非抽象类在以下方面是不同的: • 抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误

02_static修饰的成员可以直接被什么访问?

北战南征 提交于 2019-11-27 03:04:09
被static修饰的成员可以并且建议通过类名直接访问。 访问静态成员的格式: 类名.静态成员变量名 类名.静态成员方法名(参数) 对象名.静态成员变量名 ------不建议使用该方式,会出现警告 对象名.静态成员方法名(参数) ------不建议使用该方式,会出现警告 代码演示: class Demo { //静态成员变量 public static int num = 100 ; //静态方法 public static void method ( ) { System . out . println ( "静态方法" ) ; } } class Test { public static void main ( String [ ] args ) { System . out . println ( Demo . num ) ; Demo . method ( ) ; } } 来源: https://blog.csdn.net/Ricky_Monarch/article/details/99303622