《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虚拟机为静态变量开辟单独的存储空间,所以所有的对象内部的静态变量在内存中都指向同一个地址,那么不管哪个对象改变这个成员变量,所有对象中该成员变量的值都发生变化 ...
随机推荐
- 自从用了Less 编写css,你比以前更快了~
之所以用这个标题呢,主要是最近调侃杰伦太有意思了. 好吧,开个玩笑而已. 如果你了解过Less,并对之很熟悉,就不用往下看了. 如果你没用过,恭喜,这是一个入门级的教程,学会了它,可以为你节省10%的 ...
- 移动端 js touch事件
随着智能手机和平板电脑的普及, 越来越多的人用移动设备浏览网页,我们平时在pc浏览器上用的鼠标事件,比如:click, mouseover等, 已经无法满足移动设备触摸屏的特点,触摸时代的到来,离不开 ...
- RobotFramework-关键字
地址:https://github.com/NitorCreations/RobotFramework-EclipseIDE/tree/master/plugin/robot-indices Coll ...
- 【转载】Sencha Touch 提高篇 组件选择器
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:威老 原文地址:http://www.cnblogs.com/weil ...
- REST API 基于ACCESS TOKEN 的权限解决方案
REST 设计原则是statelessness的,而且但客户端是APP时,从APP发起的请求,不是基于bowers,无法带相同的sessionid,所以比较好的方案是每次请求都带一个accesstok ...
- std::function,std::bind复习
#include <iostream> #include <functional>//std::bind返回函数对象 void fun1(int a, int b) { std ...
- 全栈式JavaScript
如今,在创建一个Web应用的过程中,你需要做出许多架构方面的决策.当然,你会希望做的每一个决定都是正确的:你想要使用能够快速开发的技术,支持持续的迭代,最高的工作效率,迅速,健壮性强.你想要精益求精并 ...
- 使用PHP_UML生成代码的UML图
在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题. 今天我就介绍一种, 自动生成UML图的方法. 假设, 我有一个项目文件夹:laruen ...
- hadoop开发环境-----eclipse
1.eclipse下载 http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/lunasr1 2.hadoo ...
- Smarty模板学习
1.基本语法 所有的smarty模板标签都被加上了定界符.默认情况下是 { 和},但它们是可被改变的. 在smarty里,所有定界符以外的内容都是静态输出的,或者称之为不可改变.当smarty遇到了模 ...