a552298242 2016-10-19 14:46 采纳率: 28.6%
浏览 804
已采纳

java中关于包、类和方法有几个问题不懂,请高手指点下

这是我写的一段代码,package对应的是包名,class对应的是类名,那main方法中写的那些东西算是什么呢,有没有一个具体的名称来描述,比如for循环,当初学的时候成为流程控制,但是我觉得这个名很怪,方法中的那些代码总不能称为语句块吧,虽然现在我就是这么用的
我在学习中,通过实验的出了如下结论,但是书上找不到总结,请问正确吗
1、非静态类中不能使用静态方法
2、静态类中可以使用非静态方法
3、静态方法可以直接调用静态类中的方法
4、静态方法不能直接调用非静态类中的方法
如何区分是不是静态类\方法,仅仅从static判断吗,如果没有static,是否说明一定是非静态类\方法
请高手指点下迷津

 package study;

public class Q01 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        char []a = new char[] {'a','b','c'};
        char []x = new char[] {'x','y','z'};
for (int i = 0;i<3;i++){
    for(char ch : x){
        if(!(a[i] == 'a'&& ch =='x'||a[i]=='c'&& (ch == 'x'|| ch == 'z'))){
        {System.out.println("比赛组合为a队"+a[i]+"对x队"+ch);}
        }
    }
    }
}
}

  • 写回答

5条回答 默认 最新

  • viewgroup 2016-10-20 02:48
    关注

    static 就是静态关键字,有就是静态,没有肯定不是静态(即非静态)。
    关于总结的1和2来说,在同类中,所有的方法都可以直接调用静态方法。但是静态方法不能直接调用非静态方法,必须new对象之后才可以通过对象名.方法名来调用。
    在非同类中,我的静态方法(public 的),任何非同类都可以直接类名.方法名来调用,不需要new我的对象。所以,不管我的类是不是静态的,我都可以使用静态和非静态方法。
    方法中的内容为方法实现。就和main方法里面的一样,你想让方法体里面实现什么都是可以的。实际上你可以在一个方法里面把你这一个类的实现都写出来。当然这个是不推荐的。拆分出方法主要是为了一个方法(method)只用来做一件事。拆分出类(class)是为了一个类做一类事。比如Math类。里面大部分都是静态的,我们平时使用都是Math.method();Math就是用来处理数学这一方面的事情的。
    还有就是类里面的属性。属性是抽象出来的这个类所描述的东西共有的一些概念。比如我定义一个Human(人类)的类,那么我就可以定义两个属性,name,age,因为姓名和年龄是所有人类都有的一个概念。这个就是属性。
    来说一说类里面的变量。变量分为成员变量和局部变量。定义在方法外层,类里层的变量称之为成员变量,定义在方法内部的变量为局部变量。局部变量里面的变量名称是可以和成员变量一致的。但是同一个类的成员变量里面不能有重复的变量名称,同一个方法内的局部变量也一样。如果局部变量和成员变量一致,那么方法调用就是调用的局部变量,如果不一致,方法调用的是对应的局部变量或成员变量。例如

     public class Human{
         private int age;//成员变量
         public int getAge(){
            return age;//此处为成员变量;
         }
    
         public int getAge1(){
            int age=1;//定义一个局部变量
            return age;//这个地方返回的是局部变量
         }
    
         public int getAge2(){
            int age=1;//定义一个局部变量
            return this.age;//此处返回的是成员变量。this代表我这个类。
         }
    
     }
    

    希望以上能对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化