首页 > 其他分享 >JTCR-介绍类-04

JTCR-介绍类-04

时间:2024-04-18 14:45:22浏览次数:31  
标签:JTCR 变量 04 index 对象 介绍 实例 类型 方法

类基础

类表示一个新的数据类型。
简单类的一般形式:

class ClassName {
  type instanceVariable;
  //...
  
  type method(parameterList) {
    // 方法体
  }
  //...
}

有些 Java 应用不需要 main 方法。

定义对象

new 操作符在运行时动态地给一个对象分配内存并返回指向该对象的引用。这个引用本质上是该对象在内存中的地址。
创建一个类代表创建了一个新的数据类型,不需要占用内存空间;创建一个对象表示创建了一个类的实例,需要占用内存空间。

对象引用变量赋值

A origin = new A();
A another = origin;

此时 origin 和 another 变量都存储了同一个 A 的实例在内存中的地址,也就是这个实例的引用。

方法

type methodName(parameterList) {
  // 方法体
  return value;
}

type:表示该方法返回的数据类型。若方法不返回值,则返回类型为 void。
methodName:任意合法的标识符。
parameterList:用逗号分隔的类型和标识符对,表示调用方法时传递给方法的参数值。
value:返回值。

在类中定义的方法可以直接访问它所属的类中定义的实例变量,必须通过点操作符的方式访问不在同一个类中的 public 实例变量。
方法实际返回值的类型需要和方法定义时指定的返回值类型兼容。接收方法返回值的变量类型需要与方法定义时指定的返回值类型兼容。
parameter 表示方法调用时,用于接收传入方法的值的变量;argument 表示方法调用时,传入方法的值。

构造器

构造器(constructor)在对象被创建时,用于初始化对象的内部状态。
构造器没有返回类型,void 类型也不行。一个类的构造器的返回类型隐含是这个类类型(class type)本身。
当使用 Java 默认的构造器时,数值类型、引用类型、boolean 类型实例变量的默认值分别为 0、null、false。
当自定义了构造器,默认的构造器不再生效。

this

任意方法中的 this 引用当前对象。
在类的方法中使用 this 可以防止方法中的局部变量与类的实例变量重名时,无法访问实例变量的情况。

垃圾回收

当一个对象没有任何一个引用指向它时,表示该对象不再需要,它所占用的内存可以被回收。回收过程由运行时环境自动进行。

一个栈类

class Stack {
  int s[10];
  int index;
  
  Stack() {
    index = -1;
  }
  
  void push(int item) {
    if (index == 9) {
      System.out.println("stack is full");
    } else {
      s[++index] = item;
    }
  }
  
  int pop() {
    if (index == -1) {
      System.out.println("stack is empty");
      return 0;
    } else {
      return s[index--];
    }
  }
}

参考

[1] Herbert Schildt, Java The Complete Reference 11th, 2019.

标签:JTCR,变量,04,index,对象,介绍,实例,类型,方法
From: https://www.cnblogs.com/xdreamc/p/16246988.html

相关文章

  • JTCR-数据类型、变量和数组-01
    原始类型Java是强类型语言,在编译时会检查所有变量、表达式的类型是否兼容。Java为数据定义了8种原始类型(primitivetype),分为4组:整型:byte、short、int、long,表示整数。浮点数:float、double,表示小数。字符:char,表示字符集中的元素。Boolean:boolean,表示true/false值。......
  • JTCR-运算符-02
    算术运算符算术操作符不能对boolean类型使用,可以对char类型使用,因为char类型是int类型的子集。除操作符对整数使用,结果为整数。取模运算符对整数和浮点数使用,都返回余数。在某些情况下,复合赋值操作符比它的等价形式更有效率。位运算符运算符运算结果~按位......
  • 1048 数字加密(前缀和思想)
    暴力(12分)#include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;#definelllonglonginta[100010];intmain(){ intn; cin>>n; for(inti=0;i<n;i++){ cin>>a[i]; } set<int>st; for(inti=0;i<n;i++){ ......
  • 1048 数字加密
    #include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;#definelllonglongchara[110],b[110];intcal[110],cal2[110];charcal3[110];intmain(){ cin>>a>>b; intp1=0,p2=0; for(inti=strlen(a)-1;i>=0;i--){ c......
  • 1044 火星数字
    最最严重的问题,如果字符串只有一个的时候不一定就是个位,也可能是十位,这要取决于在哪个数组中出现。还有如果是数字,比如13,那么十位是1,个位是0没问题吧,按照平时应该输出tamtret,但是这题的要求是只输出tam即可。所以也要在代码里面特判。我真的想吐槽C++字符串处理,java明明一......
  • 04-路线规划
    1.Cypher入门1.1查询数据a.基本查询//查询所有的数据,数据量大是勿用MATCH(n)RETURNn//查询所有的网点(AGENCY)MATCH(n:AGENCY)RETURNn//查询所有与“北京市转运中心”有关系的节点MATCH(n:OLT{name:"北京市转运中心"})--(m)RETURNn,m//查询所有"北京......
  • 前端【小程序】04-小程序基础篇【分包加载】
    一、分包加载官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html​分包加载是优化小程序加载速度的一种手段。1.1为什么?​微信平台对小程序单个包的代码体积限制为2M,超过2M的情况下可以采用分包来解决即使小程序代码体积没......
  • 前端【小程序】04-小程序基础篇【生命周期】
    生命周期生命周期是一些名称固定自动执行的函数。 页面生命周期​onLoad 在页面加载完成时执行,只会执行1次,常用于获取地址参数和网络请求onShow 在页面处于可见状态时执行,常用于动态更新数据或状态onReady 在页面初次渲染完成时执行,只会执行1次,常用于节点操作或......
  • 流程表单平台优点全介绍
    在数字化转型时期,借助低代码技术平台的发展优势,可以为企业提质增效、创造高质量的发展前景。流辰信息坚持自主研发创新,提供流程表单平台、低代码技术平台产品,助力企业做好数据治理工作,实现流程化管理。针对流程表单平台的优点和特点,本文将做一个详细介绍。我们先来了解什么是低代......
  • Ignite介绍
    一.Ignite介绍:Ignite是:1.一个以内存为中心的数据平台2.可持久化、强一致和高可用3.强大的SQL、键-值存储及相关的APIIgnite的固化内存组件不仅仅将内存作为一个缓存层,还视为一个全功能的存储层。这意味着可以按需将持久化打开或者关闭。如果持久化关闭,那么Ignite就可以作为一......