java static方法 this,java===java基础学习(13)---this,static(静态变量和静态方法)的使用...

本文详细介绍了Java中的静态变量和静态方法的概念及其使用。静态变量是类级别的,所有实例共享,可通过类名直接访问。静态方法也是类级别的,同样可以直接通过类名调用,且无法访问非静态成员。示例代码展示了静态变量和静态方法在类及对象间的交互。
摘要由CSDN通过智能技术生成

package dog;

public class PersonAndDog {

public static void main(String[] args)

{

Dogs da_huang = new Dogs(12,"da_huang");

//共同引用da_huang这条狗

person p1 = new person(12,"李明",da_huang);

person p2 = new person(13,"jack",da_huang);

p1.get_info();

p2.get_info();

}

}

class Dogs

{

private int age;

private String name;

public Dogs(int age ,String name)

{

this.age = age;

this.name = name;

}

public String get_name()

{

System.out.println("The dog is named"+this.name);

return this.name;

}

}

class person

{

int age;

String name;

Dogs dog;

public person(int age ,String name, Dogs dog)

{

this.age = age;

this.name = name;

this.dog = dog;

}

public void get_info()

{

System.out.println("我的名字叫"+this.name+",我今年"+this.age+",岁。我的狗叫"+this.dog.get_name());

}

}

this主要用来区分不同的对象,他们的成员属性的。

this属于一个对象,不属于一个类。

区分成员变量和局部变量

代表当前对象

构造器与构造器之间的调用

static的使用

静态变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。

定义语法:

访问修饰符 static 数据类型 变量名;

如何访问类变量

类名.静态变量名 或者 对象名.静态变量名

package dog;

public class Static {

public static void main(String[] args)

{

Child c1 = new Child("竹子");

c1.add();

Child c2 = new Child("花花");

c2.add();

Child c3 = new Child("草草");

c3.add();

//count 是静态变量,因此可以被任何一个对象访问

System.out.println("孩子人数为="+c3.count);

}

}

class Child

{

String name;

static int count; //count 是静态变量,因此可以被任何一个对象访问

public Child(String name)

{

this.name = name;

}

public void add()

{

System.out.println(this.name+"加入到游戏中了!");

count++;

}

}

public class Demo3_2 {

static int i =1;

static

{

//该静态区域块,只被执行一次

System.out.println("静态代码区");

i ++;

}

public Demo3_2()

{

System.out.println("构造函数");

i++;

}

public static void main(String []args)

{

Demo3_2 t1 = new Demo3_2();

System.out.println(t1.i); //

Demo3_2 t2 = new Demo3_2();

System.out.println(t2.i); //

System.out.println(Demo3_2.i);

}

}

//注意一点,即使不创建新的对象。静态代码区域块的也会被执行,且执行一次

package dog;

public class Demo3_3 {

public static void main(String []args)

{

Stu s1= new Stu(12,"王二",4550);

Stu s2 = new Stu(13, "len",5000);

System.out.println(Stu.get_count()); //这里直接使用的是类名.类方法名的形式

}

}

class Stu

{

int age;

String name;

int xuefei;

static int count;

public Stu(int age, String name, int xuefei)

{

this.age = age;

this.name=name;

this.xuefei=xuefei;

count += xuefei;

}

public static int get_count()

{

//静态方法(类方法),是属于对象实例的,形式如下:

//访问修饰符 static 数据返回类型 方法名(){}

//注意: 静态方法(类方法)中不能访问非静态变量(类变量)

//使用: 类名.静态方法名 或者 对象名.静态方法名

return count;

}

}

静态变量

加上static称为类变量或静态变量,否则称为实例变量

静态变量是与类相关的,公共的属性

实例变量属于每个对象个体的属性

静态变量可以通过    类名.静态变量名   直接访问

静态方法

静态方法属于与类相关的,公共的方法。

实例方法属于每个对象个体的方法。

静态方法可以通过   类名.静态方法名 直接访问

《Java基础知识》Java static关键字以及Java静态变量和静态方法

static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...

Java入门基础学习,成为一个Java程序员的必备知识

引言 众所周知,Java是一种面向对象的编程语言.您可以在Windows操作系统上编写Java源代码,而在Linux操作系统上运行编译后的字节码,而无需修改源代码. 数据类型 Java 有 2 种数据 ...

Java【基础学习】之暴力求素数【用数组返回】

Java[基础学习]之暴力求素数[用数组返回] */ import java.util.*; public class Main{ public static void main(String[] a ...

Java知多少(31)static关键字以及Java静态变量和静态方法

static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...

JAVA的静态变量、静态方法、静态类

静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象                                ...

转载:JAVA的静态变量、静态方法、静态类

静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象                                ...

java静态变量、静态方法和静态代码段

先上实例 public class TestStatic { public static String staticString = "this is a static String&quo ...

谈谈java中静态变量与静态方法在有继承关系的两个类中调用

谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...

【转】JAVA的静态变量、静态方法、静态类

转自:http://blog.csdn.net/zhandoushi1982/article/details/8453522/ 静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. ( ...

Java中的静态变量、静态方法问题

由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...

随机推荐

IDL数组计算

函数 作用 min 最小值 max 最大值 total 求和 stddev 标准差 mean 平均值

【BZOJ】2729: [HNOI2012]排队

题意 \(n\)个男生\(m\)个女生\(2\)个老师排列,任意两个女生不能相邻,两个老师也不能相邻,每个人都不同.问有多少种排法.(\(n, m \le 2000\)) 分析 组合乱搞. 题解 先放 ...

java中“==”和equals方法的区别,再加上特殊的String引用类型

==和equals的区别: 1.==是运算符,而equals是基类Object定义的一个方法,并且equals使用==定义的 2.进行比较时,分为  基本数据类型  的比较和  引用数据类型 的比较 ...

[PHP]获取静态方法调用者的类名和运用call_user_func_array代入对象作用域

一.获取静态方法调用者的类名 方法一: class foo { static public function test() { var_dump(get_called_class()); } } cl ...

Android面试准备20190422

1.即时推送原理,采用的push推送模式,保持一个长连接,服务端和客户端连接后不再断开.所谓长连接,即是在一个TCP上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发送检测 ...

vue2.x + vux采坑总结(一)

1. 切换时,iocn高亮跟着切换问题 vux的Tabbar组件是用来实现底部tab栏,详情见官网文档 , 实现实例截图: 代码如下,控制高亮的是代码凸显部分:selec ...

配置zabbix当内存剩余不足15%的时候触发报警

zabbix默认的剩余内存报警:Average Lack of available memory on server {HOST.NAME}{Template OS Linux:vm.memory.s ...

浏览器根对象window之performance

W3C性能小组引入的新的API,目前IE9以上的浏览器都支持. 为了解决当前性能测试的困难,W3C推出了一套性能API标准,各种浏览器对这套标准的支持如今也逐渐成熟起来.这套API的目的是简化开发者对 ...

Windows 如何远程登陆 Server 的 jupyter

jupyter 安装就不用赘述了,本示例以 Putty 为例,展示如何从本地 windows 系统调用远程的 jupyter notebook 并且在本地 Chrome 中打开的方法 1. 首先,ss ...

Ubuntu16.04装机后处理

1.卸载软件 #卸载libreOffice sudo apt remove libreoffice-common #卸载amazon sudo apt remove unity-webapps-com ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值