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

《JAVA编程那点事儿》读书笔记(二)——类和对象

方法:1.基本的main方法:publicstaticvoidmain(String[]args)2.静态方法内部调用非静态方法:重新声明

方法:

1. 基本的main方法:

public static void main(String[] args)

2.静态方法内部调用非静态方法:重新声明一个类,通过这个类来调用非静态方法

1 public class MAINMETHOD {
2 public static void main(String[] args) {
3 MAINMETHOD mm = new MAINMETHOD();
4 System.out.printf("%d", mm.max(5, 6));
5
6 }
7
8 public int max(int a,int b){
9 return a>b?a:b;
10 }
11 }

3. 方法重载:在一个类内部出现了多个方法名称相同但参数列表不同的方法。

public void a(int a){}public int a(){}public void a(int a,String s){}

重载的方法的返回值不尽相同,通常情况下,重载的方法在访问控制符、修饰符和返回值类型上都保持相同。

4.参数的传递方法:

  1)按值传递:参数的原始数值不发生改变,8种基本数据类型和String都是按值传递。

  2)按址传递:参数的原始数值发生改变,除String以外的所有复合数据类型,包括数组、类和接口。

5.类

  1)属性声明

访问控制符 [修饰符] 数据类型 属性名[=值]

  2)方法声明

  3)构造方法声明

访问控制符 构造方法名称(参数列表){构造方法体;
}

构造方法名称必须和类名称相同。

public class Box{int length;int width;int height;public Box(){length = 10;width = 10;height = 10;}public Box(int l,int w,int h){length = l;width = w;height = h;}
}

6.对象

  1)对象的声明:

数据类型 对象名;

  2)对象的初始化:

对象名 = new 构造方法(参数)

  3)引用对象中的属性:在实际的面向对象程序中,一般都避免使用对象直接引用属性,代之以getter和setter方法进行访问。

  4)引用对象中的方法

对象名.方法名(参数)

  5)对象的存储

      栈内存:存储基本数据类型,栈主要是用来执行程序的。

  堆内存:堆内存用于存放由new创建的对象和数组。

7.继承

访问控制符 [修饰符] class 类名 extends 父类名{......
}

子类不继承父类的构造方法,但在子类的构造方法内部必须调用父类的构造方法。

覆盖:在子类内部重新书写父类中的方法的语法现象。子类的限制不能比父类严格。例如不能使用比父类限制更大的访问控制符或者抛出比父类更多的异常等。

8.访问控制符

访问控制符同一个类内部同一个包内部不同包中的子类不同包中的非子类
publicYesYesYesYes
protectedYesYesYesNo
无访问控制符YesYesNoNo
privateYesNoNoNo

public:只要能访问到对应的类,就可以访问到类内部的public修饰的内容;

protected:继承权限,被同一个包中的类访问或者不同包中的子类访问;

无访问控制符:包权限。修饰的内容可以被一个包中的类访问。

private:只能在当前类中访问。(eclipse中source->Generate Getters and Setters可以自动生成get和set方法)

 

 

 

 


转载于:https://www.cnblogs.com/sunshineatnoon/p/3816313.html


推荐阅读
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
author-avatar
SH_ZTH_611_666_104_534
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有