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. 你知 ...
随机推荐
- Hadoop--单点故障修复
nameNode单点故障修复 1.启动虚拟机,启动集群 此时我们将主机hadoop1关机(断掉主机),开始抢救: 1.使用 秘书(secondaryNameNode),成功率不是100% (这里我 ...
- Hadoop---静动态增删节点
静动态增删节点 初始: 这是我现在的集群 重新克隆一个虚拟机: hadoop44:datanode(静态增加,删除和动态删除) hadoop55:datanode(动态hdfs添加,yarn动态增删) ...
- java 大数处理
头文件:import java.util.*; import java.math.*; Scanner cin = Scanner (System.in);//读入 while(cin.hasNext ...
- [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)
108. Convert Sorted Array to Binary Search Tree 描述 Given an array where elements are sorted in ascen ...
- Elastic-Job 介绍
Elastic-Job是一个分布式调度解决方案,它解决了什么问题呢? 如果你需要定时对数据进行处理,但由于数据量实在太大了,一台机器处理不过来,于是用两台机器处理,第一台处理 id 为奇数的数据,第二 ...
- spring boot cloud
eclipse spring boot 项目创建 https://www.cnblogs.com/shuaihan/p/8027082.html https://www.cnblogs.com/LUA ...
- js string对象方法
substr(start,length) substring(start,end) 返回子串,原字符串不改变.
- 在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持
在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持 http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.htm ...
- 尚学堂java 参考答案 第八章
一.选择题 1.BD 解析:B:Integer是对象,所以默认的应该是null对象.D使用的是自动装箱 2.A 解析:String类的对象是final型,是不能修改的,concat()方法是生成一个新 ...
- POJ 2002 Squares 几何, 水题 难度: 0
题目 http://poj.org/problem?id=2002 题意 已知平面内有1000个点,所有点的坐标量级小于20000,求这些点能组成多少个不同的正方形. 思路 如图,将坐标按照升序排列后 ...