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. 你知 ...
随机推荐
- virtualenv 运行python 解决依赖冲突问题 尤其是django那种蛋疼的版本问题
Create a python virtual environment and install python dependencies. cd evalai virtualenv venv sourc ...
- python(4)之字典
字典的操作方式如下: info={ 'stu1101':"xiaohai", 'stu1102':'liming', 'stu1103':"heima", } ...
- suffix word cy dom faction ful fold form out1
1★cy ﹎﹎﹎﹎性质,状态 2★ dom ﹎﹎﹎﹎领域,范围 1★ faction ﹎﹎﹎﹎达到什么样的状态 2★ ful ﹎﹎﹎﹎满,量 *******有~的 3★ fold ﹎﹎﹎﹎双, ...
- Win10系列:UWP界面布局基础6
资源合并 前面提到过,可以将资源字典定义在单独的XAML文件中,这样的文件被称为资源字典文件.那么,在需要引用文件中的资源时可以通过ResourceDictionary元素的MergedDiction ...
- 比较不错的几款开源的WPF Charts报表控件
UWP Community Toolkit 1. ModernUIChart Code: http://modernuicharts.codeplex.com/ Available Charts Co ...
- Windows系统上设置 Git Bash 的 Font 及 Locale
在windows 上使用 Git Bash 可以获得 unix 命令 操作体验. 但是初始的Git Bash的字体及语系都很不方便,需要自己设置. 在Git Bash的命令窗体上边框点击鼠标右键可以进 ...
- Thêm Một Lần Đau--错错错--IPA--越南语
越南国际天团HKT的名曲.
- node连接myslq
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : ' ...
- DevExpress ASP.NET v18.2新功能详解(三)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...
- 查看文件 ls -lh
查看文件 ll ls -l --block-size=k ls -lh