首页 / JAVA / Java基础之:类与对象
Java基础之:类与对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java基础之:类与对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2352字,纯文字阅读大概需要4分钟。
内容图文
![Java基础之:类与对象](/upload/InfoBanner/zyjiaocheng/621/727b9e82caa048f29a5828bc82be2106.jpg)
Java基础之:类与对象
Java是面向对象的编程语言。
那么什么是对象呢? 什么又是类呢? 现实案例理解:
人类 与 小范 : 人类就是一个类,而小范就是这个类中的一个对象
狗 与 小白 : 狗就是一个类,而小白 就是这个类中的一个对象
那么,不管是小范 还是 小白 ,都会有一些特定的属性。比如小范的年龄,小白的体重...
代码实现
类的声明: class 类名 { }
对象的声明 : 类名 对象名 = new 类名();
对象属性访问符: "." , 使用: 对象名.属性名
public class Test{ public static void main(String[] args){ //声明一个Person对象 p Person p = new Person(); //对象p 的属性赋值 p.name = "小范"; p.age = 20; //声明一个Dog对象 d Dog d = new Dog(); //对象d 的属性赋值 d.name = "小白"; d.wide = 10; } } ? class Person{ String name; int age; } class Dog{ String name; int wide; }
属性/成员变量
属性也叫做成员变量 , 而我们上面定义的name、age、wide 都是成员变量。
属性的定义: 访问修饰符 属性类型 属性名;
说明:
-
属性可以是基本数据类型,也可以是引用数据类型。例如 Person 中可以有一个属性是 Dog 类型的对象 d。
-
属性如果不进行赋值,则会有默认值。这里默认值的取值与数组中的默认值取值一样。
-
不同的对象是相互独立的,互相不影响的。一个对象对属性进行更改,对另一个对象不会有影响。例如:有两个人分别是 小黄 和 小范,如果小范体重增加了10kg,对小黄并没有影响。
-
属性有访问修饰符,它们按可访问范围分为:public>protected>默认(default)>private。
public class Test{ public static void main(String[] args){ //对象p1 Person p1 = new Person(); //对象p1 的属性赋值 p1.name = "小范"; p1.age = 20; //对象p2 Person p2 = new Person(); //对象p2 的属性赋值 p2.name = "小黄"; p2.age = 18; //改变 p1 的age属性与name属性 , p2不会受到影响 p1.name = "小雨"; p1.age = 19; } } ? class Person{ String name; int age; }
内存图理解
对象是引用类型的,所以对象和数组以及String字符串一样,存在赋值问题。例如
public class Test{ public static void main(String[] args){ //对象p1 Person p1 = new Person(); //对象p1 的属性赋值 p1.name = "小范"; p1.age = 20; Person p2 = p1; p2.age = 18; //这时 p1.age 也就等于 18 } } ? class Person{ String name; int age; }
内存图理解
内存图说明:
1) 栈: 一般存放基本数据类型(局部变量)
2) 堆: 存放对象(Cat cat , 数组等)
3) 方法区:常量池(常量,比如字符串), 类加载信息
程序流程分析:
1) 先加载Person 类 , 只会加载一次
2) 在堆中,分配空间[地址],并进行默认初始化,比如 name=null age = 0
3) 把堆中地址,返回给 p1
4) 进行指定初始化 name = “小范” age = 20
5) 在栈空间中声明一个p2,将p1在栈空间中保存的堆地址复制给p2
6)p2.age 改变 堆空间保存的 age属性。
内容总结
以上是互联网集市为您收集整理的Java基础之:类与对象全部内容,希望文章能够帮你解决Java基础之:类与对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。