static相关内容

static用于表示静态

静态变量是随着类的加载而加载的,优先于对象的出现

this:表示当前方法调用者的地址值

this是由虚拟机赋值的

一些快捷键:

ctrl+a全选再来回车带全部参数的构造

ctrl+insert  get  and set  ctrl+全选就给所有成员变量提供了get和set方法

私有话构造方法,是为了防止创建他的对象,因为创建他的对象没意义个人感觉是为了保证他功能呢的确定性不被更改,则他的功能就确定

 

static 表示静态,是Java 中的一个修饰符,可以修饰成员方法,成员变量

被static修饰的成员变量叫做静态变量

特点:

被该类所有对象共享

不属于对象属于类

随着类的加载而加载,优先于类存在

调用方法

类名调用(推荐)

对象名调用

 被static修饰的成员方法叫做静态方法

特点:

多在测试类和工具类中

Javabean中很少会用

调用方式:

类名调用

对象名调用

工具类

帮我们做一些事情的,但是不描述任何事物的类

Javabean: 用来描述一类事物的类。比如Student、Teacher、Dog、Cat等

测试类   :用来检查其他类是否书写正确,带有main方法的类是程序的入口

工具类:不是用来描述一类事物的,而是帮我们做一些事情的类

         1.类名见名知义

          2.私有化构造方法(防止功能被篡改)

          3.方法定义为静态

工具类列:方法都是你静态的

public class ArrUtil{

private ArrUtil(){}

public static int getMax(...){...}

public static int getMin(...){...}

public static int getsum(...){...}

public static int getAvg(...){...}

}

需求:

1.按照如下要求编写一个数组的工具类:ArrayUtil

2.提供一个工具类方法printArr,用于返回整数数组的内容

      返回的字符串格如:[10,20,50,34,100](只考虑整数数组,且只考虑一维数组)

3.提供这样一个工具方法getAerage,用于返回平均分,(只考虑浮点型数组,且只考虑一维数组)

4.定义一个测试类testDemo,调用该工具类的工具方法,并返回结果

public class ArrayUtil{

//私有化构造方法

//目的:为了不让外界创建他的对象

private Arrayutil(){}

//需定义为静态的,方法调用

public static String printArr(int [] arr){

StringBdilder sb=new StringBuilder();

sb.sppend("[");

for(int i=0;i<arr.length;i++){

//i 索引arr[i]元素

     if(i==arr.length;i++){

sb.append(arr[i]);

}else{

sb.append(arr[i]).append(",");

}

}

sb.append("]");

return sb.toString();

}

public static double getAverage(doube[] arr){

double sum=0;

for(int i=0;i<arr.length;i++){

sum=sum+arr[i];

}

return sum/arr.length;

}

}

public class TestDemo{

public static void main(String[] args){

//测试工具类中的两个方法是否正确

int[] arr={1,2,3,4,5}

String str=ArrayUtil.printArr(arr1);

System.out.println(str);

double[] arr2={1.5,3.7,4.9,5.8,6.6};

double avg=ArrayUtil.getAverage(arr2);

System.out.println(avg);

}

}

练习:定义学生工具类

需求:定义一个集合,用于存储3个学生对象

学生类的属性为:name、age、gender

定义一个工具类,用于获取集合中最大学生的年龄

public class Student{

  private String name;

private  int age;

private String gender;

public student(){}

public Student(String name,int age,Sting gender){

this.name=name;//将方法中初始化的赋给调用方法的那个方法对应的的值

this.age=age;

this.gengder=gender;

}

}

public String getName(){

return name;

}

public void setName(String name){

this.name=name;

}

public int getAge(){

return age;

}

public void setAge(int age){

this.age=age;

}

public String getGender(){

this.gender=gender;

}

..................................

import java.util.ArrayList;

public class Test{

public static void main(String[] args){

//1.创建一个集合用来存储学生对象

ArrayList<St>

}

}

每次的Arraylist都要去自当前对应的包

 。。。。。。。。。。。。。。。。

import java.util.ArrayList;

public class Test{

public static void main(String[] at=rgs){

//1.创建一个集合用来存储学生对象

ArrayList<Student>  List=new ArrayList<>();

//2.创建3个学生对象

Student stu1=new Student(name:"zhangsan",age:23,gender:"男");

Student stu2=new Student(name:"lisi",age:24,gender:"女");

Student stu3=new Student(name:"wangwu",age:25,gender:"男");

//3.把学生对象添加到集合当中

list.add(stu1);

list.add(stu2);

list.add(stu3);

//4.调用工具类中的方法

int maxAgeStudent=StudenUtil.getMaxAgeStudent(list);

System.out.println(maxAgeStudent);

}}

static 的注意事项:

静态方法只能访问静态变量和静态方法

非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法

静态方法中没有this关键字

总结

静态方法中,只能访问静态

非静态方法可以访问所有

非静态方法中没有this关键字

this

//this:表示当前方法调用者的地址

//thi是由虚拟机赋值的

 静态随类的加载而加载,比非静态超前

非静态和对象有关

static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量

1.被static修饰的成员变量,叫做静态变量

特点:

被该类所有对象共享

跟对象无关,随着类的加载而加载,优先于对象存在

调用方法:

类名调用

对象名调用

2.被static修饰的成员方法,叫做静态方法

特点:

多用在测试类和工具类中、

javabean类中很少用

调用方法:

类名调用(推荐)

对象名调用

重新认识main方法

1.public :    被JVM调用,访问权限足够大

2.static:  被JVM调用,不用创建对象,直接类名访问

               因为main方法是静态的,所以测试类中其他方法也需要时静态的

3.void:  被JVM调用,不需要给JVM返回值

4.main:  一个通用的名称,虽然不是关键字,但是被JVM识别

5.String[] args:    以前用于接收键盘录入数据的,现在没用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
static关键字在Java编程中用于修饰类的成员,表示这个成员属于类本身而不是对象实例。它具有以下几个用途和特点: 1. 静态变量:使用static关键字修饰的变量是静态变量,也称为类变量。静态变量在类加载时创建,并且在整个程序运行期间只有一个副本。可以通过类名直接访问静态变量,而不需要创建类的对象。 2. 静态方法:使用static关键字修饰的方法是静态方法,也称为类方法。静态方法可以直接通过类名调用,不需要创建类的对象。静态方法只能访问静态变量和调用其他静态方法,不能直接访问非静态的成员变量和调用非静态的成员方法。 3. 静态代码块:使用static关键字修饰的代码块称为静态代码块,它在类加载时执行,并且只执行一次。静态代码块一般用于初始化静态变量或执行一些只需要执行一次的操作。 通过以上练习中的引用内容可以看出,static关键字在相关练习中被用于修饰了print静态方法,使得这个方法可以直接通过类名调用。同时,可以注意到执行了多次该静态方法,并且输出了"山西省 OK"的结果。 总结起来,static关键字的相关练习主要涉及到静态变量、静态方法和静态代码块的使用。它们是Java编程中重要的基础知识,掌握它们可以更好地理解和使用Java语言。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [详解Java编程中static关键字和final关键字的使用](https://download.csdn.net/download/weixin_38508126/12802953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [static关键字(代码练习)](https://blog.csdn.net/wenyunick/article/details/104267040)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值