【名师课堂】Java面向对象开发

【名师课堂】Java面向对象开发

Java核心第二部
106课时 |
23947人已学 |
(24 评论)

加入学习
加入学习

public class Person{ private int age; }

[展开全文]
linpeng · 2017-07-24 · 类与对象(类与对象定义) 0

单例模式和多例模式很相似:

构造函数私有化

类内部一定会提供一个static方法来获得实例化对象

多例模式被枚举取代。

[展开全文]

单例设计模式

构造函数私有化

外部无法产生实例化对象,只能通过static关键字获得。

 

饿汉式----》推荐----线程安全。

懒汉式

[展开全文]

public class TestDouble {

public static void main(String[] args) {

Double x=1.1;

Double y=1.1;

System.out.println(x==y);//不仅比较对象地址,也比较对象值

System.out.println(x.equals(y));//只比较对象值

}

}

 

[展开全文]
13liyunfei · 2017-07-22 · 包装类(装箱与拆箱) 0

接口之间也可以继承!

一个类只能extends一个父类,但可以implements多个接口。

java通过使用接口的概念来取代C++中多继承。

与此同时,一个接口则可以同时extends多个接口,却不能implements任何接口。因而,Java中的接口是支持多继承的。

引用自:-----http://www.cnblogs.com/littlepanpc/p/3616300.html

[展开全文]

代理模式:

一个接口,两个实现,其中一个实现是真实业务,另一个实现是辅助业务。

所有动作都由辅助代理,真实动作由真实业务发出。

然后利用代理工厂进行。

[展开全文]

最常用的三大设计模式:

工厂模式

单例模式

代理模式

[展开全文]

不错不错,对象比较,并不能直接用==来比较,而是通过比较对象所拥有的属性来比较对象。比较是否为空,比较是否是自己,比较对象所拥有的属性来比较对象。

[展开全文]

OOA

OOD

OOP

封装

继承

多态

面向对象

面向过程

[展开全文]
狼霸天尊 · 2017-06-30 · 面向对象简介 0

简单Java类;

写10个简单Java类,

要求每个类中必须至少5个属性。

[展开全文]

类组成:属性、构造方法、普通方法。

类编写的时候,第一部分写属性;第二部分写构造方法、第三部分写普通方法。

 

实例化对象的产生格式:

类名称 对象名称 = new 类名称();

  1. 类名称:任何的对象都应该有对应的类
  2. 对象名称:是一个唯一的标记;
  3. new:开辟堆内存;
  4. 类名称();构造方法。

构造方法就是在使用关键字new时所调调用的方法。

默认的无参构造方法;

public Person();

构造方法:

  1. 构造方法每个类中至少存在有一个;
  2. 构造方法的名称与类名称相同,无返回值类型定义;
  3. 构造方法允许重载,重载时只需考虑方法的参数类型或个数即可。

构造方法可以为类中的属性进行初始化;

 

[展开全文]
终结命运 · 2017-06-29 · 构造方法与匿名对象 0

业务逻辑错误。

如age数值不合理。

利用private实现封装,最大的特征是,只允许本类访问,而不允许外部访问。

很少在方法上使用private。

对于private的属性,需要使用:

setter方法:主要用于进行属性内容的设置;

getter方法:主要用于属性内容的取得。

 

类的设计原则:

在编写类的时候,类中的所有属性必须使用private封装。而private封装的属性如果需要被外部所使用,那么就要按照格式定义相应的setter、getter方法。

[展开全文]
终结命运 · 2017-06-29 · private实现封装处理 0

Person per2 = per1;

未开辟新的堆内存;栈内存存储的地址指向同一堆内存。

修改per2的对象属性,然后输出per1的对象属性。

若使用per2 = per1 ;

 

会导致per2原来指向的堆类存会变成垃圾空间。

 

[展开全文]
终结命运 · 2017-06-29 · 类与对象(引用传递初次分析) 0

堆内存空间:保存真正的数据,堆内存保存的是对象的属性信息;

栈内存空间:保存的堆内存的地址,堆内存的操作权,简单理解可以为对象名称;

Person per = new Person();

new就是开辟新的堆内存;

per的地址存在栈内存中;

对象的属性的默认值保存在堆内存里;

name=null;

age=0;

分步建立对象;

Person per=null;

per在栈内存中;

per=new Person();

new开辟新的堆内存,并保存对象属性的默认值。

错误NullPointerException,都是引用数据错误,表示对象未实例化。

[展开全文]
终结命运 · 2017-06-29 · 类与对象(对象内存分析) 0

class Person{//定义一个类,类名称每个单词首字母要求大些

String name;

String age;

}

new会开辟内存。

声明并实例化对象;

类名称 对象名称 = new 类名称();

声明对象:

类名称 对象名称=null;

实例化对象:

对象名称 = new 类名称();

[展开全文]
终结命运 · 2017-06-29 · 类与对象(类与对象定义) 0

类与对象:

类本身属于引用数据类型。

所谓的类描述的就是一个共性特征;

对象指是一个具体的可以使用的事物。

在实际的开发过程中国,需要首先产生类,而后才可以产生对象。

类的组成:方法(操作的行为)、属性(变量,描述每一个对象的具体特点)

[展开全文]
终结命运 · 2017-06-29 · 类与对象(类与对象基本定义) 0

面向对象:

封装性:内部的操作对外部而言不可见;

继承性:在上一辈基础上继续发展;

多态性:利用多态性才可以得到良好的设计。

OOA面向对象分析、OOD面向对象设计、OOP面向对象编程

面向对象可以进行生活的抽象。

[展开全文]
终结命运 · 2017-06-29 · 面向对象简介 0

勘误:

return str.substring(0,1).toUpperCase + str.substring(1);

[展开全文]

类的内存:

关键字new一定是开辟内存空间。

堆内存

栈内存

[展开全文]
小虫泊远 · 2017-06-23 · 类与对象(对象内存分析) 0

授课教师

阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >

本课程相关云产品