
Java:class4 类和对象
发布日期:2021-05-06 07:33:03
浏览次数:9
分类:技术文章
本文共 1737 字,大约阅读时间需要 5 分钟。
1.类:定义一个学生类,学生类主要由两部分组成
属性:(是什么) class People{
姓名 String name; 年龄 int age; //属性:字段/成员变量/实例变量 学号行为:(我能干什么)
吃饭 睡觉 void eat(){} //行为:方法 学习 }实例化:People p=new People(); //开辟了内存
构造方法:People(){} //不能加void等,即不能有返回值
2 .new:
1).堆上开内存 2).调用构造方法初始化实例变量3.局部变量未初始化则不能使用;成员变量未初始化可以使用。
4.一个源文件里不能有多个public class。
5.CMD中可以用jps查看进程。
6.定义的方法中的变量不占堆中的内存。
class Student{ //类头:占8字节 int age=20; //占8字节 }7.构造方法:如果没有构造方法,系统自动提供一个无参的构造;而自己写了一个构造方法,系统则不再提供。
1). 构造函数的名称必须与类名相同,包括大小写; 2). 构造函数没有返回值,也不能用void修饰. 如果不小心给构造函数前面添加了返回值类型,那么这将使这个构造函数变成一个普通的方法,在 运行时将产生找不到构造方法的错误。 3. 一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。 4. 构造方法可以重载,以参数的个数,类型,顺序8.访问限定符:
public:公有的,谁都可以用。 private:私有的,只能在当前类中使用。 package:同包路径可以访问,是默认值。非同包时在当前类开头写入:import.package.src2 (package.src2是要引用类的路径)9.方法中可以用this关键字:代表当前传进来的对象。 //存在命名冲突时,必要加this关键字,指明为当前对象
10.字符串传入函数,函数中记得加入if(str==null) return;
11.对象的拷贝:用clone(),需要在类中加入对Object的clone()方法重写:
而且在class cat 后要加上implements Cloneable。 1)浅拷贝,存在内存共享,修改其中一个的属性会改变另一个。在类中如果只有int 和String类型的属性时,用这个就可以。 class Address implements Cloneable{ int id; } } protected Object clone() throws CloneNotSupportException{ return super.clone(); } 2) 深拷贝,消灭了内存共享。在类中如果包含自己定义的一些属性,要用这个,否则有内存共享。class Address implements Cloneable{ int id; @Override //需要对这个特有的属性也进行clone的重载 protected Object clone() throws CloneNotSupportedException { return super.clone(); } } class Cat implements Cloneable{ int age; Address address = new Address(); @Override protected Object clone() throws CloneNotSupportedException { Object o = super.clone();// Cat c = (Cat)o; c.address = (Address) this.address.clone(); return c; //返回的是对象 } }
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月19日 17时30分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java —— this 关键字
2019-03-03
java —— static 关键字
2019-03-03
(连续的矩形)HDU - 1506
2019-03-03
POJ 1797 最短路变形所有路径最小边的最大值
2019-03-03
Emacs:Eldoc 全局化了 | Linux 中国
2019-03-03
在 Linux 中使用变量 | Linux 中国
2019-03-03
黑客利用“Simjacker”漏洞窃取手机数据,或影响十亿人 | 每日安全资讯
2019-03-03
Richard Stallman 被迫辞去 FSF 主席的职务 | Linux 中国
2019-03-03
Firefox 69 已可在 Fedora 中获取 | Linux 中国
2019-03-03
如何在 Linux Mint 中更换主题 | Linux 中国
2019-03-03
Linux 中国徽标征集活动结果 | Linux 中国
2019-03-03
黑吃黑——黑客组织通过黑客工具攻击其他黑客 | 每日安全资讯
2019-03-03
在 Python 调试过程中设置不中断的断点 | Linux 中国
2019-03-03
如何在 Bash 中编写函数 | Linux 中国
2019-03-03
AI 系统向自动化编码迈进 | Linux 中国
2019-03-03
使用 Jupyter Notebooks 构建一个远程管理控制台 | Linux 中国
2019-03-03
微软将举办 Azure 开放日活动,主讲 Linux 开源软件 | 新闻拍一拍
2019-03-03
使用开源可视化工具来理解你的 Python 代码 | Linux 中国
2019-03-03
【2021 ECUG Con】聚势而来,与你相约花开时
2019-03-03