java定义类 对象,引用,指针
java是根据面向对象编程,因此有类和对象的概念,类分为普通类与抽象类。
一。定义类
类由N个 构造器 成员变量 方法组成,可以不定义,也可以根据语法定义N个。
[修饰符] class 类名{
构造器*N个
成员变量*N个
方法*N个
}
1.类的修饰符只能是public final abstract 三种之一,或者不修饰 ,类名一般大写开头,驼峰命名
(一)。成员变量的定义
[修饰符] 数据类型 变量名 ;
[修饰符] 数据类型 变量名 = 默认值;
1.修饰符: 可以不写(默认) 但是只用public private protected 之一修饰 或者 组合 static final 之一 共同经行修饰
(二)。方法的定义
[修饰符] 返回类型 方法名( 形参列表 ){
//执行代码,方法体
}
1.修饰符。可以不写(默认) 但是只用public private protected 之一修饰 或者 组合 abstract final 之一 共同经行修饰 或者再加static 组合修饰
抽象类的抽象方法不能使用static修饰
(三)。构造器定义
[修饰符] 类名 ( 形参列表 ){
//构造器执行体
}
1.修饰符 可以不写(默认) 但是只能用 public private protected之一修饰
(四)。关于 static
简单的说 static 修饰的方法 或者 成员变量 是属于这个类的,该类或该类下的对象都可以进行使用 ;
static修饰符其实就是用来区别 方法或者变量是类的 还是对象的。(目前所学总结,可能有所变化)
二 对象,引用,指针
1.java创建一个对象 如Object obj=new Object();
这段代码实际上产生了2个东西 一个obj变量 一个Object对象
而且把obj对象指向Object对象的内存地址
如果再把这个Object'对象赋值给其他变量,java不是重新生成内存块,而是直接把Object的地址引向改变量
所以无论把Object赋值给多少变量,都只会把地址引向变量。
一个变量如果把Object的某个值改变,那么指向该对象的所有变量,使用时都会发生改变,因为都是指向同一个地址
java定义类 对象,引用,指针的更多相关文章
- C++ 类对象和 指针的区别
C++ 类对象和 指针的区别 C++ 类对象和 指针的区别 转自:http://blog.csdn.net/ym19860303/article/details/8557746 指针的情况 class ...
- android NDK 实用学习(三)- java端类对象的构造及使用
1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ...
- java定义类
package java04; /* * 定义一个类,用来模拟“学生”,其中包含量两个组合部分 * * 格式: * public class ClassName{ * //成员变量 * //成员方法 ...
- js 定义类对象
//定义类 //方式一 function A_class(arg1,arg2){ this.arg1=arg1; this.arg2=arg2; ...
- C++中没有定义类的引用。
在有时候由于类太大.须要在类在后面定义: 比如: class Y{ void f(X); }; class X{ //一些成员数据和函数 }; //error 由于c++要求不论什么一个变量在引用之前 ...
- 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, con ...
- C++:基类与派生类对象之间的赋值兼容关系
4.5 基类与派生类对象之间的赋值兼容关系 在一定条件下,不同类型的数据之间可以进行类型转换,例如可以将整型数据赋给双精度型变量. 在赋值之前,先把整型数据转换为双精度型数据,然后再把它双精度型变量. ...
- c++类对象的内存分布
要想知道c++类对象的内存布局, 可以有多种方式,比如: 1)输出成员变量的偏移, 通过offsetof宏来得到 2)通过调试器查看, 比如常用的VS 1.没有数据成员的对象 class A{ }; ...
- spring 配置 Java配置类装配bean
https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...
随机推荐
- [转] 从知名外企到创业公司做CTO是一种怎样的体验?
这是我近期接受51CTO记者李玲玲采访的一篇文章,分享给大家. 作者:李玲玲来源:51cto.com|2016-12-30 15:47 http://cio.51cto.com/art/201612/ ...
- Memcached原理深度分析详解
Memcached是 danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能.关于这个东 西,相信很多人都用过,本文意在通 ...
- 深入了解webservice_开发实战篇
服务器端: 第一: 配置环境 创建一个Web Project,将XFire自己的包及其XFire依赖的jar包(6个jar包)全部导入到classpath下,方法是,只需将jar包粘贴在WebRoot ...
- 编译arm64错误记录
响应2月底appstore 64位APP的上线要求,开始编译IOS arm64版本引擎库.编译arm64遇到一些问题,在此记录. 1. 数据类型的错误 __int64 相关,提示error: expe ...
- 设计模式_Composite_合成模式
形象例子: Mary今天过生日.“我过生日,你要送我一件礼物.”“嗯,好吧,去 商店,你自己挑.”“这件T恤挺漂亮,买,这条裙子好看,买,这个包也不错,买.”“喂,买了三件了呀,我只答应送一件礼物的哦 ...
- iOS 使用自定义的字体
一.新建一个工程,准备好要使用的字体,后缀为.ttf或者.otf格式. 二.将字体直接拖入工程项目中. 三.在Info.plist中添加一个新的Key:Fonts provided by applic ...
- 西南民大oj(两园交求面积)
西南民大oj:http://www.swunacm.com/acmhome/welcome.do?method=index 我的几何不可能那么可爱 时间限制(普通/Java) : 1000 MS/ 3 ...
- xp安装maven
1.下载apache-maven-2.0.8 2.设置xp环境变量 MAVEN_HOME D:\apache-maven-2.0.8 在path里面假如 %MAVEN_HOME%\bin 然后打开c ...
- css 8.1
1. border-collapse 属性设置是否将表格边框折叠为单一边框: table { border-collapse:collapse; } 如果没有规定 !DOCTYPE,border-c ...
- Docker上运行MySQL服务
1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...