《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虚拟机为静态变量开辟单独的存储空间,所以所有的对象内部的静态变量在内存中都指向同一个地址,那么不管哪个对象改变这个成员变量,所有对象中该成员变量的值都发生变化 ...
随机推荐
- 【Populating Next Right Pointers in Each Node II】cpp
题目: Follow up for problem "Populating Next Right Pointers in Each Node". What if the given ...
- Dreamweaver 8
Dreamweaver 8 附注册码:WPD800-56030-83832-97910
- Oracle 相关概念详解
一.前言 笔者对于Oracle数据库的理解,很长时间停留在“镜花水月”的状态,你说不懂吧,又会用,一较真起来吧,对一些基本概念又说不出一个道道来~如果想要在编码的路上走得更远,这个必定也是绕不过的坎, ...
- PHP数组的定义和遍历
//常用函数//生成随机数//echo rand(3,33); //两个参数来确定随机数的范围为3-33 //日期时间函数echo time(); //取当前时间的UNIX时间戳//date_defa ...
- 设计模式之命令模式(Command)
#include <iostream> #include <string> using namespace std; class Receiver { public: void ...
- 了解javascript中的事件(一)
本人目录如下: 零.寒暄 一.事件概念 二.事件流 三.事件处理程序 四.总结 零.寒暄 由于刚入职,近期事情繁多,今天好不容易中期答辩完事,晚上有一些时间,来给大家分享一篇博文. 这段时间每天写js ...
- livevent的几个问题
关于libevent的几个问题 1.他到底是如何保证这个套接字有效的 主线程去断开关闭套接字,主线程去调用buffwrite,在子线程收到客户端断开时,主线程延迟1分钟释放,这样保证子线程操作完该so ...
- 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题
前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...
- 再深入一点ajax
1.建立兼容性强的XHR对象有那么复杂么? 看过一些书,书上为了写针对低版本IE和其他非IE浏览器需要写一大串兼容函数,典型的就是JS高级程序上的. 可是在现实开发中,为了兼容IE6/IE7,只需要这 ...
- Java中List、Set和Map的区别--转载
List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List).Map同样 ...