《JAVA编程那点事儿》读书笔记(二)——类和对象
方法:
1. 基本的main方法:
public static void main(String[] args)
2.静态方法内部调用非静态方法:重新声明一个类,通过这个类来调用非静态方法
public class MAINMETHOD {
public static void main(String[] args) {
MAINMETHOD mm = new MAINMETHOD();
System.out.printf("%d", mm.max(5, 6)); } public int max(int a,int b){
return a>b?a:b;
}
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.访问控制符
访问控制符 | 同一个类内部 | 同一个包内部 | 不同包中的子类 | 不同包中的非子类 |
public | Yes | Yes | Yes | Yes |
protected | Yes | Yes | Yes | No |
无访问控制符 | Yes | Yes | No | No |
private | Yes | No | No | No |
public:只要能访问到对应的类,就可以访问到类内部的public修饰的内容;
protected:继承权限,被同一个包中的类访问或者不同包中的子类访问;
无访问控制符:包权限。修饰的内容可以被一个包中的类访问。
private:只能在当前类中访问。(eclipse中source->Generate Getters and Setters可以自动生成get和set方法)
《JAVA编程那点事儿》读书笔记(二)——类和对象的更多相关文章
- spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定
本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Pr ...
- spring揭秘 读书笔记 二 BeanFactory的对象注冊与依赖绑定
本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,并且IoC Service Pr ...
- 《实战Java高并发程序设计》读书笔记二
第二章 Java并行程序基础 1.线程的基本操作 线程:进程是线程的容器,线程是轻量级进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序设计是因为线程间的切换和调度的成本远远的小于进程 ...
- Objective-C 笔记二 类、对象和方法
对象就是一个物件.面向对象的程序设计可以看成一个物件和你想对它做的事情.这与C语言不同,C语言通常称为过程性语言.在C语言中,通常是先考虑要做什么,然后才关注对象,这几乎总是与面相对象的思考过程相反. ...
- 新标准C++程序设计读书笔记_类和对象
面向对象的程序设计方法 抽象:将某类客观事物共同特点(属性)归纳出来,形成一个数据结构(可以用多个变量描述事物的属性):将这类事物所能进行的行为也归纳出来,形成一个个函数,这些函数可以用来操作数据结构 ...
- 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
二.Java并发机制底层实现原理 这里是我的<Java并发编程的艺术>读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一.并发编程的目的与挑战 有兴趣讨论的朋友可以给我留言! 1. ...
- 《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化
<深入了解java虚拟机>高效并发读书笔记--Java内存模型,线程,线程安全 与锁优化 本文主要参考<深入了解java虚拟机>高效并发章节 关于锁升级,偏向锁,轻量级锁参考& ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- 《Java编程那点事儿》读书笔记(三)——static,this,抽象类,接口和包
1. static 1)静态变量:Java虚拟机为静态变量开辟单独的存储空间,所以所有的对象内部的静态变量在内存中都指向同一个地址,那么不管哪个对象改变这个成员变量,所有对象中该成员变量的值都发生变化 ...
随机推荐
- python 交换变量值
在其他语言中,交换两个变量值的时候,可以这样写: temp = a a = b b = temp 在Python中,我们可以简单的这样写: a,b=b,a 实验如下: >>> a=1 ...
- shell ulimit -n
通过ulimit -n命令可以查看linux系统里打开文件描述符的最大值,一般缺省值是1024,
- 使用HTML5中postMessage实现Ajax中的POST跨域问题
HTML5中提供了在网页文档之间相互接收与发送信息的功能.使用这个功能,只要获取到网页所在窗口对象的实例,不仅仅同源(域+端口号)的web网页之间可以互相通信,甚至可以实现跨域通信. 浏览器支持程度: ...
- hdu 2883 kebab 网络流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2883 Almost everyone likes kebabs nowadays (Here a ke ...
- 2010 Asia Fuzhou Regional Contest
A hard Aoshu Problem http://acm.hdu.edu.cn/showproblem.php?pid=3699 用深搜写排列,除法要注意,还有不能有前导零.当然可以5个for, ...
- smaa github iryoku
dx10 demo 这东西我没法跑nsight ...这就坑大了 里面有个 RenderTargetCollection这个东西里面有很多 rendertargets 最让我苦恼的就是 sceneRT ...
- win7 IIS7 PHP环境配置
PHP5.2.17 官方下载: http://windows.php.net/downloads/releases/php-5.2.17-Win32-VC6-x86.zip PHP5.3.5 官方下载 ...
- jQuery中的height()、innerheight()、outerheight()的区别总结
在前端jQuery代码中突然看到outerheight(),第一感觉就是,这是什么鬼?然后仔细查阅了一下,居然发现还有这么多相似的东西. 在jQuery中,获取元素高度的函数有3个,它们分别是heig ...
- ios瀑布流
http://blog.csdn.net/shenjx1225/article/details/9037631
- sublime text3 插件安装
安装Package control 先打开安装代码的命令行 按 ctrl+~或者 view -> show console 将下面的代码粘贴到输入框里 按回车 import urllib.re ...