Java中的面向对象II
既然要创建一个对象那么就需要有一个类,下面介绍类的构建。
一.类的两个元素:
1.字段
字段也就是类变量,每一个类变量都是类的成员。
<1.>类变量访问指定通常是私有的(private)或者是受保护的(protected)当你不对其进行设置是它会默认为包访问权限(default),在此极力反对将字段设置为公有属性(public)。
访问权限初探:
|
作用域 |
当前类 |
当前包 |
子孙类 |
其他包 |
|
public |
√ |
√ |
√ |
√ |
|
protected |
√ |
√ |
√ |
X |
|
private |
√ |
X |
X |
X |
|
default |
√ |
√ |
当前包下继承可以 |
X |
|
访问控制从大到小:public------protected-----default----private |
<2.>成员默认值问题
对于成员变量当创建对象时未显示初始化时,Java会确保他们获得一个默认值:
int ——0; double——0.0d; boolean——false; byte——(byte)0; short——(short)0;
long——0L; float——0.0f; object——null;

对于局部变量(在方法中出现的变量)未初始化,则Java不会付给默认值:

2.方法(函数)
方法通常为公有的,相当于类与外界信息交换的接口。
二.static关键字
当我们在创建类时,并没有分配内存,只有使用new关键字是创建了对象才分配内存,并且通过构造函数初始化后每一个对象的副本是不相同的他们互不相干,但如果使用关键字static就不相同了。

然而通过static关键字创建的字段在内存备份只有一份,无论创建多少个对象时,其值都是相同的

对于静态变量可以通过"类名.变量“的方法来获得,对于非静态变量则不行。

静态方法也是同理,不需要创建对象就可以调用它,比如main方法。
Java中的面向对象II的更多相关文章
- Java中的面向对象
Java中的面向对象 在软件开发的学习中, 我最先接触的开发语言就是java,但都是简单的函数和循环数组的应用.说道面向对象,第一次看到这个词的时候还是在C#的学习过程中,我记得当时PPT上霸气的解释 ...
- java中的面向对象的三大基本特征
转载,原文来自http://blog.sina.com.cn/s/blog_5f79a56a0100c6ig.html 众所周知,java中的面向对象的三大基本特征是:[封装].[继承].[多态] 一 ...
- Java中的面向对象I
一.首先来了解一下Java面向对象的五个程序设计方式: 1.万物皆对象 Java以类为基本模块来将问题抽象化,在计算机中解决实际生活中的问题 2.程序为对象的集合,程序中的类通过互发消息来告知彼此要做 ...
- JAVA中的面向对象与内存解析_2
构造方法(构造函数) • 使用new +构造方法创建一个新的对象. • 构造函数是定义在Java类中的一个用来初始化对象的函数. • 构造函数与类同名且没有返回值. • 例如:Person类的构造 ...
- Java笔记(十)……面向对象II封装(Encapsulation)
封装概念 封装: 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: 将变化隔离. 便于使用. 提高重用性. 提高安全性. 封装原则: 将不需要对外提供的内容都隐藏起来. 把属性都隐藏,提 ...
- JAVA中的面向对象与内存解析_1
对象的创建和引用 必须使用new关键字创建对象. 使用对象(引用成员变量或来引用对象的成员变量. 使用对象(引用)方法(参数列表)来调用对象的方法. 同一类的每个对象有不同的成员变量存储空间. 同 ...
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...
- 浅谈Java中的AOP面向切面的变成和控制反转IOC
https://blog.csdn.net/hi_kevin/article/details/7325554 https://www.cnblogs.com/zedosu/p/6632260.html ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
随机推荐
- IDEA如何导入一个web+maven以及如何运行项目
IDEA如何导入一个web+maven以及如何运行项目 然后就可以运行你的maven项目了....
- NOIP2012国王游戏(60分题解)
题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最前面 ...
- 手机验证码JQUERY实现
<!DOCTYPE html> <html> <head> <script src="http://libs.baidu.com/jquery/1. ...
- zookeeper 食谱
以示例形式说明 zk 食谱. 假定有 4 个客户端,分别执行 create -s -e /lock/read xx 或 create -s -e /lock/write 获取锁. 一.获取读锁的情况: ...
- oracle配置访问白名单教程
出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库. 当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效.只针对 ...
- Python线程二
转自:https://www.cnblogs.com/chengd/articles/7770898.html 1. threading.Lock() import threading balance ...
- python3线程启动与停止
转自: https://blog.csdn.net/weixin_38125866/article/details/76795462 https://www.cnblogs.com/lcchuguo/ ...
- maven运行时的配置及命令详解
上面是指定端口运行程序的,也可以先指定好,直接在上面的地方写jettty:run 当然,如果你是在控制台运行且安装了maven,直接可以进入项目的文件中:mvn jetty:r ...
- Linux gcc getcwd()的实现 zhuan
通过getcwd()可以获取当前工作目录. 1 #include <unistd.h> 2 3 char *getcwd(char *cwdbuf, size_t size);
- LY.JAVA面向对象编程.内存图
2018-07-06 一个对象的内存图 两个对象的内存图 三个对象的内存图 this static super 向上转型 向下转型