示例代码:

向方法传递对象:

  1. class Block{                            //类Block
  2. int a,b,c;                               //int类型变量
  3. int volume;
  4. Block(int x,int y,int z){          //带三个参数的构造
  5. a = x;                                //给变量赋值
  6. b = y;
  7. c = z;
  8. volume = a*b*c;
  9. }
  10. boolean sameBlock(Block ob){            //向方法传递对象
  11. if(ob.a==a&ob.b==b&ob.c==c){
  12. return true;
  13. }else{
  14. return false;
  15. }
  16. }
  17. boolean sameVolume(Block ob){        //向方法传递对象
  18. if(ob.volume==volume){
  19. return true;
  20. }else{
  21. return false;
  22. }
  23. };
  24. }

------------------------------------------------------------------------------------------------------

方法返回对象:

  1. class ErrorMsg{
  2. String[] msgs={"1 error","2 error","3 error","4 error"};
  3. String getErrorMsg(int i){                 //返回String类型的对象
  4. if(i>=0&i<msgs.length){
  5. return msgs[i];
  6. }else{
  7. return "Invalid Error Code";
  8. }
  9. }
  10. }

--------------------------------------------------------------------------------------------------------

方法重载方法名相同,参数返回类型,参数个数不相同

  1. class Overload{
  2. void Oload(){
  3. System.out.println("没有参数");
  4. }
  5. void Oload(int a){
  6. System.out.println("一个参数:"+a);
  7. }
  8. int Oload(int a,int b){
  9. System.out.println("两个参数:"+a+"   "+b);
  10. return a+b;
  11. }
  12. double Oload(double a,double b){
  13. System.out.println("两个double参数:"+a+"   "+b);
  14. return a+b;
  15. }
  16. }

--------------------------------------------------------------------------------------

重载构造函数:

  1. class Queue{
  2. private char[] q;
  3. private int putd,getd;
  4. Queue(int size){                   //Queue(int size)
  5. q = new char[size];
  6. putd=getd=0;
  7. }
  8. Queue(Queue ob){            //Queue(Queue ob)
  9. putd = ob.putd;
  10. getd = ob.getd;
  11. q = new char[ob.q.length];
  12. for(int i=getd;i < putd;i++){
  13. q[i] = ob.q[i];
  14. }
  15. }
  16. Queue(char[] a){               //Queue(char[] a)
  17. putd = 0;
  18. getd = 0;
  19. q = new char[a.length];
  20. for(int i=0;i < a.length;i++){
  21. put(a[i]);
  22. }
  23. }
  24. }

-----------------------------------------------------------------------------------------------------

递归方法

  1. class Factorial{
  2. int factR(int n){                //递归方法求阶乘
  3. int resualt;
  4. if(n==1) return 1;
  5. resualt = factR(n - 1)*n;
  6. return resualt;
  7. }
  8. int factI(int n){             //非递归方法求阶乘
  9. int t,resualt;
  10. resualt = 1;
  11. for(t=1;t <= n;t++){
  12. resualt *=t;
  13. }
  14. return resualt;
  15. }
  16. }

--------------------------------------------------------------------------------------------------------------------

内部类:嵌套在类的内部,可以访问外层类的所有变量和方法

  1. class Outter{                  //外层类
  2. int[] nums;                  //数组变量
  3. Outter(int[] n){            //构造方法
  4. nums = n;
  5. }
  6. void     analyze(){           //普通方法,创建内部类对象,调用内部类方法
  7. Inner in = new Inner();
  8. System.out.println(in.min());
  9. System.out.println(in.max());
  10. System.out.println(in.ave());
  11. }
  12. class Inner{                         //内部类,封装了三个方法min(), max(), ave()
  13. int min(){
  14. int m = nums[0];            //调用外部类的变量
  15. for(int i=0;i < nums.length;i++){
  16. if(nums[i] < m) m = nums[i];
  17. }
  18. return m;
  19. }
  20. int max(){
  21. int m = nums[0];
  22. for(int i=0;i < nums.length;i++){
  23. if(nums[i] > m) m = nums[i];
  24. }
  25. return m;
  26. }
  27. int ave(){
  28. int a = 0;
  29. for(int i=0;i < nums.length;i++){
  30. a += nums[i];
  31. }
  32. return a/(nums.length);
  33. }
  34. }
  35. }
  36. class NestedClassDemo{
  37. public static void main(String args[]){
  38. int[] x = {3,2,1,5,6,9,7,8,};
  39. Outter ob = new Outter(x);
  40. ob.analyze();
  41. }
  42. }

Java基础:方法和类详解相关推荐

  1. 【Java基础】HashMap原理详解

    [Java基础]HashMap原理详解 HashMap的实现 1. 数组 2.线性链表 3.红黑树 3.1概述 3.2性质 4.HashMap扩容死锁 5. BATJ一线大厂技术栈 HashMap的实 ...

  2. Java中的Runtime类详解

    Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...

  3. java基础与案例开发详解 pdf下载_Java基础与案例开发详解(张孝祥) pdf_IT教程网...

    资源名称:Java基础与案例开发详解(张孝祥) pdf 第1.2和3章介绍Java环境的安装配置,Java程序的开发过程和Java语言的基础语法. 第4章介绍数组和常用算法的相关知识. 第5章和6章介 ...

  4. java线程池ThreadPoolExecutor类详解

    线程池有哪些状态 1. RUNNING:  接收新的任务,且执行等待队列中的任务 Accept new tasks and process queued tasks  2. SHUTDOWN: 不接收 ...

  5. stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...

  6. java并发编程Future类详解

    作用和举例 future类的作用就是为了调用其他线程完成好后的结果,再返回到当前线程中,如上图举例: 小王自己是主线程,叫外卖等于使用future类,叫好外卖后小王就接着干自己的事去了,当外卖到了的时 ...

  7. java object 详解_Java基础之Object类详解

    类Object是类层次结构的根类.每个类都直接或者间接地继承Object类.所有对象(包括数组)都实现这个类的方法.Object类中的构造方法只有一个,并且是无参构造方法,这说明每个类中默认的无参构造 ...

  8. Java双刃剑之Unsafe类详解

    前一段时间在研究juc源码的时候,发现在很多工具类中都调用了一个Unsafe类中的方法,出于好奇就想要研究一下这个类到底有什么作用,于是先查阅了一些资料,一查不要紧,很多资料中对Unsafe的态度都是 ...

  9. 【JDK源码】java.io包常用类详解

    看完java.io的JDK源码,在网上发现一篇关于java.io中的类使用的文章总结的很全面,看完之后在原文的基础上加了一些自己的总结如下构成了本篇文章.原文地址 一.Java Io流 1. Java ...

  10. 【JDK源码】java.lang包常用类详解

    接下来的几天开始JDK源码的学习和总结,之前看<java编程思想>的时候看到java的基础知识有很多,其中支撑着这些基础的基础中的基础当属JDK.JDK的基础代码里面又分了很多基础的模块, ...

最新文章

  1. 这12大管理原则,经营者必知
  2. 文件流下载到本地 - 待完成
  3. @responseBody java_java-如何使用@ResponseBody从Spring Controller返回JSON数据
  4. tableau必知必会之如何在Tableau server中实现工作薄的自动刷新
  5. 全球及中国便携式卧式空压机行业前景动态与投资趋势分析报告2022版
  6. 线程池开门营业招聘开发人员的一天
  7. 《追风筝的人》卡勒德·胡赛尼著小说成长的故事
  8. Linux多线程同步
  9. 使用python批量创建文件夹or文件
  10. 车牌限行C语言雾霾指数,算法设计与程序实现判断车牌的单双号(背景知识)为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。如何让高清摄像-组卷网...
  11. 计算机一级证件照尺寸,照相馆不会告诉你的哪些事:常用证件照尺寸汇总
  12. (2)msp430f5529 官方例程
  13. 今日头条、抖音创始人张一鸣
  14. TP5 生成微信小程序海报图
  15. [UE4][Blueprint]虚幻4实现照相机拍照功能
  16. 51精密线路板年终活动,爆款降临
  17. 阿里巴巴开源力作(二)--分布式流量卫兵Sentinel简介及控制台安装
  18. 信管师培训之第十一节课作业(法律法规+标准规范+职业道德)
  19. SQL中DDL语句(数据表定义语言)
  20. MIT6.830-2022-lab4实验思路详细讲解

热门文章

  1. 【LeetCode题解】347_前K个高频元素(Top-K-Frequent-Elements)
  2. PHP退休了吗,年底退休和年初退休也有区别?
  3. 皮卡丘的python程序_皮卡丘第一种
  4. 微信按钮翻译中英对照表
  5. 微信小程序例子——修改小程序的标题
  6. 关于思科CCIE重认证的方式,留给有需要的网络工程师
  7. SSD LBA 计算器
  8. 从中国质造到淘宝心选:CBM赋能“数造”新品牌
  9. 最新数字藏品系统源码一套+价值9000缘
  10. 【dva】dva使用与实现(七)