java中的类

2023-11-17

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();                                      
             }
         }                

输出的结果为:

例如:

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();
                        
      }
}

运行结果:

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";//静态成员变量【类变量】
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的类 的相关文章

随机推荐

  • unity 路径

    IOS Application dataPath Application xxxxxxxx xxxx xxxx xxxx xxxxxxxxxxxx xxx app Data Application streamingAssetsPath A
  • 使用 .net + blazor 做一个 kubernetes 开源文件系统

    背景 据我所知 目前 kubernetes 本身或者其它第三方社区都没提供 kubernetes 的文件系统 也就是说要从 kubernetes 的容器中下载或上传文件 需要先进入容器查看目录结构 然后再通过 kubectl cp 指令把文
  • linux系统 在python3.6/CUDA 11环境下安装tensorflow 1.15

    今天在实验室服务器 3090 上跑别人用tensorflow写的代码 CPU使用率飙高 吓得我赶紧停了QAQ 后来发现是因为GPU无法使用 其原因是官网中cuda11 X 仅支持tf2 X 不支持tf1 X 通过查阅资料 参考大佬的方法 最
  • 力扣-912题 排序数组(C++)- 快排必须烂熟于心

    题目链接 https leetcode cn com problems sort an array 题目如下 class Solution public vector
  • vue3中百度地图的使用

    在vue3中使用百度地图 vue3 百度地图 文章目录 在vue3中使用百度地图 前言 一 百度地图在vue3中的引入 二 页面内容 注意事项 三 异步加载文件 四 图 前言 具体为百度地图引入 如何使用点位和自定义点位信息窗口 提示 以下
  • 2015蓝桥杯——密文搜索

    题目描述 标题 密文搜索 福尔摩斯从X星收到一份资料 全部是小写字母组成 他的助手提供了另一份资料 许多长度为8的密码列表 福尔摩斯发现 这些密码是被打乱后隐藏在先前那份资料中的 请你编写一个程序 从第一份资料中搜索可能隐藏密码的位置 要考
  • Dockerfile命令集

    Dockerfile与docker build命令 1 什么是Dockerfile 1 1 Dockerfile 1 2 docker build命令 1 3 Dockerfile相关指令描述 2 Dockerfile命令详情 2 1 FR
  • Java基础 —— 异常

    目录 异常的概念及分类 异常的处理try catch finally 异常抛出throw s 自定义异常 异常的概念及分类 什么是异常 异常是指在程序的运行过程中发生的一些不正常事件 比如 除0溢出 数组下标越界 所要读取的文件不存在 异常
  • 详解基于罗德里格斯(Rodrigues)公式由旋转向量到旋转矩阵的 Python 实现

    文章目录 旋转向量 rotation vector 旋转矩阵 rotation matrix 罗德里格斯公式 Rodrigues formula 基于 Python 和 NumPy 实现 Rodrigues 公式 旋转向量 rotation
  • js __proto__、prototype 、constructor 三者关系总结

    一 proto 属性 proto 怎么读 杠杠 proto 杠杠 proto 读作 dunder proto double underscore proto 的缩写 并且它前后两边 分别是 两个 下划线 由 proto 属性来连接对象 直到
  • 服了呀,被现在的00后卷麻了....

    现在的小年轻真的卷得过分了 前段时间我们公司来了个00年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • 以太猫白皮书

    转载自 https ethfans org posts cryptokitties whitepapaer 以太猫 一款由区块链技术赋予其收藏价值和繁育能力的猫咪 摘要 随着区块链技术持续占据各大新闻头条 加密货币以其富有争议的价值和对金融
  • C关键字volatile总结;*((volatile unsigned int *)0X020C4068)什么含义?

    1 volatile 关键字是一种类型修饰符 用它声明的类型变量表示可以被某些编译器未知的因素更改 volatile 提醒编译器它后面所定义的变量随时都有可能改变 因此编译后的程序每次需要存储或读取这个变量的时候 都会直接从变量地址中读取数
  • 双眼融合训练一个月_视觉融合功能的四种训练方法

    最起码要训练一个月以上 一 视觉融合游戏 一支铅笔 化实为虚 化虚为实 减少双眼视差 动作 1 取一支笔 放在距脸部45厘米的位置 再选远处一个参照物 2 先聚焦看铅笔 这时远处参照物看起来有两个影子 3 然后聚焦参照物 这时会看到两支铅笔
  • C++:类和对象:对象的初始化和清理

    1 前言 构造和析构的背景 1 C 中的面向对象来源于生活 每个对象都会有初始值以及对象销毁前的清理数据设置 2 对象的初始化和清理是两个非常重要的安全问题 一个对象或者变量没有初始状态 对其使用后果是未知的 同样一个对象或者变量没及时清理
  • Linux系统查看CPU个数&超线程&线程数

    Linux系统查看CPU个数 超线程 线程数 cpu 核心数与线程数 Linux系统查看CPU个数 超线程 线程数 小命令 Linux查看CPU详细信息 简书 jianshu com Intel CPU产品规范 英特尔 产品 处理器 英特尔
  • win10用html文件做壁纸,利用win10自带工具制作动态壁纸的简单方法

    微软在最强大操作系统利用win10自带工具制作动态壁纸的简单方法的详细介绍 利用win10自带工具制作动态壁纸的简单方法 把图片做成动态壁纸 总共分4步 1 准备素材 2 素材导入 3 调整效果 4 导出视频 接下来 笔者就为分步讲解以下制
  • VMware安装CentOS7

    目录 一 安装CentOS 二 网络配置 三 虚拟机克隆 一 安装CentOS 1 进入VMware主页面 选择 创建新的虚拟机 2 进入新建虚拟机向导 配置类型选择 典型 3 浏览 选择下载好的iso文件 CentOS7驱动下载地址 Ce
  • vue-cli3.0+antd+select

    前言 通过和 iview 和 element antd 还是有他特殊的优势的 那就是功能更加丰富 当然 功能丰富同样代表着复杂程度相比较来说 更高了 这里来对他进行二次封装 此外 在我们实际应用的情况下会遇到给他赋值赋不上 用default
  • java中的类

    4 1 类是什么 1 类 类型 数据类型 复合数据类型 自定义复合数据类型 为什么有复合数据类型 基本数据类型就8种 在开发中远远不够 所以我们就需要一个可以根据自己的需求随时能制作出一个自己需要的数据类型 2 类 具有共同性质的一组事物的