热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于Java的对象、数组、String类的具体用法

对象的行为:1、内存分配(栈和堆的区别)栈:保存局部变量的值(用来保存基本数据类型的值;保存类的实例的引用)对:用来存放动态产生的数据,比如new出来的对象2、调用方法方法返回一个

对象的行为:

1、内存分配栈和堆的区别

栈:保存局部变量的值(用来保存基本数据类型的值;保存类的实例的引用)

对:用来存放动态产生的数据,比如new出来的对象

2、调用方法

方法返回一个值、方法不返回值、方法抛出一个异常给方法的调用者

 1 public class Date{
 2         public int day,month,year;
 3 
 4         public int getDay(){//返回整型
 5             System.out.println("在getDay方法内部");
 6             return day;
 7     }
 8     public void printDate(){//不返回值
 9         System.out.println("在printDate方法内部");
10         System.out.println(month+"/"+day+"/"+year);
11     }
12 }        

3、方法签名
包括:1)访问修饰符public允许从任何地方调用该方法、private除了在类内部以外其他皆不可以调用、protected默认访问修饰符分别适用于继承和包。

 

 

   2)可选修饰符static、final、abstract、native、synchronized、native

   3)返回值(方法签名必须包括返回值的类型)

     4)方法名(方法签名必须出现在返回值之后,使用驼峰命名法)

   5)形式参数列表(在方法名的后面必须是用一对括号括起来的形式参数列表)

     6)抛出的异常列表

注意:用static修饰的为静态成员,为类的所有对象共享(分配1个空间);在静态方法中,只能直接调用静态成员,不能直接调用非静态成员;成员方法中,可以直接调用静态成员与非静态成员。

4、形式参数与实际参数

形式参数列表:用于声明传递到方法中的数据类型

实际参数:传递给形式参数的数据

5、方法重载

含义:一个类有两到多个同名但是有不同参数列表的方法

要求:参数类型不同、参数个数不同、参数列表不同

例如:1)public float computePay(double d,int x);

   public float computePay(double d);

     2)public void setDay(int x,int y,long z);

    public boolean setDay(long a,int b,int c);

6、构造器(构造方法)

用途:在对象实例化时被调用,初始化对象中的成员变量

属性:名字与类名一致;没有返回值类型

注意:1)默认情况下,类中有一个无参构造方法;2)当写出带参构造方法系统默认的无参构造方法就不再生成

 格式:

1 public class Radio{
2     public int channel;
3     public Radio(){}//默认构造器
4      public Radio(int c){//带参构造器
5     channel=c;
6     }      
7 }

通过this();构造器调用其他构造器,必须是构造器中的第一句可执行语句;

数组:

7、数组:

含义:存储在一个连续的内存块中的元素集合,每个元素是相同的数据类型,通过索引进行区分,第一个元素的索引为0;

声明并分配空间:double[] temps=new double[30];

声明并分配空间时元素初始化:int score=new int[]{1,2,3....};或者int[] score={1,2,3....};

8、数组长度

1)ArrayIndexoutofBoundsException:数组下标越界

2)数组是对象是引用数据类型

3)length属性代表数组的大小:

 1     public void register(){
 2         Scanner input = new Scanner(System.in);
 3         
 4         for(int i = 0; i ){
 5             if (users[i] == null){
 6                 users[i] = new User();
 7                 System.out.print("用户名:");
 8                 users[i].username = input.next();
 9                 System.out.print("密码:");
10                 users[i].password = input.next();
11                 break;
12             }
13         }

 

4)foreach:用于数组组成或集合遍历

1     public void showAllUsers(){
2         for (User user : users) {
3             if (user != null)
4                 System.out.println(user);
5         }
6     }

9、引用数组

如下声明了一个Employee类型的引用数组:Employee [] 数组名;
对象数组:单个元素类型[] 数组名=new 类型[长度](User[] users=new User[100;])

10、String类的方法摘要(JDK_API_1_6_zh_CN.CHM文档)

 


推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
author-avatar
望尽天涯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有