java中的类[通俗易懂]

java中的类[通俗易懂]4.1.类是什么?  1.类–类型–数据类型—复合数据类型—自定义复合数据类型  为什么有复合数据类型?  基本数据类型就8种,在开发中远远不够,所以我们就需要一个可以根据自己的需求随时能制作出一个自己需要的数据类型。  2.类–具有共同性质的一组事物的群体。人类。  在java中用来描述具有共同性质的一组事物的自定义的复合数据类型—类。  复合数据类型的本质—【根据自己的

大家好,又见面了,我是你们的朋友全栈君。

4.1.类是什么?
  1.类–类型–数据类型—复合数据类型—自定义复合数据类型
  为什么有复合数据类型?
  基本数据类型就8种,在开发中远远不够,所以我们就需要一个可以根据自己的需求随时能制作出一个自己需要的数据类型。
  2.类–具有共同性质的一组事物的群体。 人类。
  在java中用来描述具有共同性质的一组事物的自定义的复合数据类型—类。
  复合数据类型的本质—【根据自己的需求制作自己需要的数据类型的模式/规则/公式】
4.2.如何编写一个Java类?
通过class关键字来创建一个类
{}—-类体
例如:

public  class   Xue{ 
   
//public---访问限制修饰符【对类的访问权限】
//class---创建类 的关键字【类的标志】
//Hello--类名【首字母大写】
}

格式:
访问限制修饰符 class 类名{}
例如:

public class Student{ 
     }   
class  User{ 
     }  

4.3.Java类中可以编写什么?
描述一组事物的共同性质
杯子–名字 形状 大小 颜色 装东西
名字,形状,大小,颜色—–基本属性
装东西—基本功能
通过事物的基本属性和基本功能来描述具有共同性质的一组事物。
基本属性——变量
基本功能—–方法

变量–是用来在类中描述事物的基本属性
方法–是用来在类中描述事物的基本功能

4.4.Java类中变量的分类及其基本特征?
变量—保存数据
  1.数据类型【不一定就是之前的基本数据类型,也有可能是自定义的复合数据类型】
  2.变量名称【合法标识符–全字母小写】
  3.初始值
  4.作用域

按照在类中编写变量的位置划分:
1.成员变量【全局变量】—类中方法外
  (1).可以使用访问限制修饰符,也可以不使用。
  (2).可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置一个初始值。
  (3).可以在本类中的任意一个方法中被使用
2.局部变量———————–方法里/方法参数
  (1).不能使用访问限制修饰符。
  (2).必须设置初始值
  (3).只能在本方法中使用。
例如:

public class Student{ 
   
         public int stu1;//可以使用访问限制修饰符
         Int  stu2;//也可以不使;用限制修饰符[缺省的访问限制修饰符]
         public String stuname1;//可以不用赋予初始值,系统自动赋予默认值
         public String stuname2="liuming";//也可以根据需要自己设置一个初始值。
         //成员变量【全局变量】---可以在本类中的任意一个方法中被使用
         public void testM1(){ 
   
                  System.out.println("stu1=="+stu1);
                  System.out.println("stuname2=="+stuname2);
            }
         public void testM2(){ 
   
                   System.out.println("stu1=="+stu1);
                   System.out.println("stuname2=="+stuname2);
            }
         public void testM_n(){ 
   
                    System.out.println("stu1=="+stu1);
                    System.out.println("stuname2=="+stuname2);
             } 
        } 
         public class Shu3{ 
   
         public static  void main(String args[]){ 
   
         Student stu1=new Student();
         stu1.testM1();
         stu1.testM2();                                      
             }
         }                

输出的结果为:
java中的类[通俗易懂]

例如:

class Xue{ 
   
        //方法1--testM1
        public void testM1(){ 
   
       //public char sex;//不能使用访问限制修饰符。
       //char sex;//必须设置初始值
       char sex='男';//局部变量
       //只能在本方法中使用
        System.out.println("sex=="+sex);
              }
       //方法2-textM2
        public void  textM2(){ 
   
       //只能在本方法中使用,超出本方法就不能使用
         // System.out.println("sex=="+sex);
         }
      }
          public class XueXi{ 
   
          public  static   void main(String args[]){ 
   
          Xue stu =new Xue();
          stu.testM1();
                        
      }
}

运行结果:
java中的类[通俗易懂]

4.5.什么是成员变量的隐藏?
在同一个类中成员变量与某一个方法中的局部变量的名称相同,这是我们在方法中使用这个成员变量的时候,得到的结果是局部变量的值,此时就是方法中的局部变量将类中成员变量的值隐藏了,这就是成员变量的隐藏。

public class User{ 
   
       //成员变量
        public String username="liming";
        public  void  testM1(){ 
   
        //局部变量
        char  username='C';
        //成员变量的隐藏
        //成员变量的隐藏与变量数据类型无关,只与变量名称有关。
        System.out.println("username=="+username);//username=C
        //如果我们需要强制使用被隐藏的成员变量,该怎么办?
        //通过this访问被隐藏的成员变量
        System.out.println("username=="+this.username);//username=liming
              }
  }

4.6.静态成员变量与实例变量的区别?
静态成员变量与实例变量—-都是成员变量【全局变量】
成员变量【全局变量】—类中方法外
  (1).可以使用访问限制修饰符,也可以不使用。
  (2).可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置一个初始值。
  (3).可以在本类中的任意一个方法中被使用
  成员变量【全局变量】可以分为2种
  按照成员变量【全局变量】是否使用static关键字
  静态成员变量【类变量】—使用static关键字修饰的成员变量【全局变量】
  实例变量—没有使用static关键字修饰的成员变量【全局变量】
  static关键字—静态的—》提前分配存储数据的内存空间
  没有使用static关键字修饰的元素,是在程序运行时分配存储数据的内存空间。
  使用static关键字修饰的元素,是在程序运行前分配存储数据的内存空间。
例如:

public class Xx{ 
   
      public   int  Xxid=1001;
      public  static  String   classname="学习班";//静态成员变量【类变量】
      static  String  classcode="20202020";//静态成员变量【类变量】
}

java中的类[通俗易懂]
java中的类[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 矩阵范数计算

    矩阵范数计算

    2022年6月28日
    30
  • HMM超详细讲解+代码[通俗易懂]

    HMM超详细讲解+代码[通俗易懂]写在前面本文目标Why-什么场景下需要HMM模型What-HMM模型的相关概念定义HMM模型的5元组HMM中的3个经典问题How-HMM模型中的3个经典问题评估评估描述评估理论推导评估实际算法前向计算python前向算法代码预测预测描述维特比算法python维特比算法代码学习EM算法实例理解baum-welch算法的思路python代码baum-w

    2025年8月15日
    3
  • kfold_机器学习gridsearchcv(网格搜索)和kfold validation(k折验证)

    kfold_机器学习gridsearchcv(网格搜索)和kfold validation(k折验证)网格搜索算法是一种通过遍历给定的参数组合来优化模型表现的方法。以决策树为例,当我们确定了要使用决策树算法的时候,为了能够更好地拟合和预测,我们需要调整它的参数。在决策树算法中,我们通常选择的参数是决策树的最大深度。于是我们会给出一系列的最大深度的值,比如{‘max_depth’:[1,2,3,4,5]},我们会尽可能包含最优最大深度。不过,我们如何知道哪一个最大深度的模型是最好的呢?我们需要一…

    2022年9月19日
    3
  • 接口定义规则

    接口定义规则写了五年代码,打算总结一下接口一下规范.  刚刚进公司时,写的接口返回过map,string,object,json等等,回头看看写的乱七八糟的. 1.接口最好是统一返回自定义实体.  如:ResultMessages.    privateString   resultCode,//返回code如:200(成功) 错误代码自己定义   message; 

    2022年5月29日
    43
  • SQL 开发任务超 50% !滴滴实时计算的演进与优化

    SQL 开发任务超 50% !滴滴实时计算的演进与优化摘要:ApacheFlink是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速…

    2022年6月2日
    61
  • Netty权威指南_netty官方中文文档

    Netty权威指南_netty官方中文文档如果链接不好使了,可以留言我在重新发一个链接:https://pan.baidu.com/s/1FJd2KWqzEQVVQ7jgeWViDg提取码:vgie

    2022年10月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号