当前位置: 首页 > news >正文

3.26学习总结

java

实例变量和局部变量

实例变量是记录这个类中对象的特点的每一个对象的实例变量都可以不同(例如名字,性别等),其中一个对象的实例变量改变不会影响其他的变量.

类变量是一种特殊的实例变量,他的特殊在于所有的对象的类变量都是相同的,当一个对象改变了类变量那么所有对象的类变量都会改变(可以视为所有的对象共用同一个类变量),

局部变量与c语言中的局部变量基本相同,只生存在固定的函数内(一般定义在方法中).

实例变量(成员变量),静态变量(类变量).

定义方式

 public class girl {private int age;                            //实例变量public static int gender;                //类变量public girl() {}public girl(int age) {int t;                                  //局部变量if (age >= 18 && age <= 50)this.age = age;elseSystem.out.println("错误");}
}

 this

在上述代码中出现了this这个关键字,这个关键字使用来区分局部变量和实例变量的,this中储存的是调用这个方法的对象的地址,它可以通过对象地址来准确的调用到对象的实例变量.

构造器

构造器是在调用这个类来创建对象同时给他赋初值的时候使用的,如果在一个类中没有编写构造器,那么默认是只有一个空参数的构造器.

在编写构造器时要注意,一旦自己编写了构造器系统便不会给予空参数的构造器,所以当编写时要手动编写.

代码

 public class girl {private int age;public static int gender;public girl() {               //空参的构造器}public girl(int age) {               带参的构造器int t;if (age >= 18 && age <= 50)this.age = age;elseSystem.out.println("错误");}
}

private和public

当一个变量定义前有private这个前缀代表这个变量无法在其他类中被改变只能在所定义的类中进行改变,好处是可以保护数据不被滥用.public则可以在任何类被改变.

如果想改变前缀有private的变量可以这样

 public class girl {private int age;public static int gender;public girl() {}public girl(int age) {int t;if (age >= 18 && age <= 50)this.age = age;elseSystem.out.println("错误");}public void setage(int x) {                 //改变方式if (x >= 18 && x <= 50)age = x;elseSystem.out.println("错误");}
}

String类

String定义的变量有两种赋值方式一种是通过直接赋值的方式,另一种则是通过new来进行赋值.

这两种赋值方式不同的点在于赋值的字符串存储地方不同.

当直接赋值时,字符串会存储在堆区一个特殊的地方,String存储的是这个字符串的地址,当变量被赋值字符串时,系统会扫描这个区域,如果发现一样的字符串则将这个字符串的地址赋给它.也就是说两个变量所储存的地址是同一个.

new赋值的变量则不同,new会在堆区新建一个空间来储存字符串.

当他们被用来比较时就可以看出来(因为比较的是地址).

public class Main {public static void main(String[] args) {String a="jjm";                         //直接赋值String b=new String("jjm");             //通过new赋值String c="jjm";System.out.println(a==b);System.out.println(a==c);}
}

这个程序运行的结果是

http://www.lryc.cn/news/326053.html

相关文章:

  • Cisco Catalyst3850交换机RTU license使用方法
  • 简明 Python 教程(第5章 函数)
  • flutter 保存一堆多语言翻译词条,由key和value组成
  • 3月25日,每日信息差
  • Git常用指令使用
  • 数据结构与算法 顺序表的基本运算
  • docker部署nacos(单机与集群)
  • 开启Safari手势支持
  • Amuse:.NET application for stable diffusion
  • Java冒泡排序详细讲解
  • python数据解析xpath
  • 工业镜头常用参数之实效F(Fno.)和像圈
  • what is apache?
  • 【二叉树】Leetcode 94. 二叉树的中序遍历【简单】
  • Linux进程控制(等待)
  • 结构体-C语言
  • Unity DOTS中的baking(四)blob assets
  • 第三十天-Flask模板 Jinja2
  • 在项目中数据库如何优化?【MySQL主从复制(创建一个从节点复制备份数据)】【数据库读写分离ShardingJDBC(主库写,从库读)】
  • Fragment 与 ViewPager的联合应用(2)
  • OriginBot智能机器人开源套件
  • Java Web-Maven
  • .Net 异步委托
  • web前端面试题---->HTML、CSS
  • 移动端Web笔记day03
  • c++的学习之路:3、入门(2)
  • 面试经典150题【91-100】
  • 在 nginx 中使用 JavaScript
  • 【pytorch】安装合集
  • 【教程】PLSQL查看表属性乱码解决方法