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

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

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

加入学习
加入学习

不做if判断也是可以的

[展开全文]

类:具有共同特性的群体(如:人)

对象:一个具体的可以使用的实物(如:一个叫王宝强的人)

首先需要产生类之后才能操作对象;类中定义好的对象都可以操作,类中没有定义的对象就一定不能操作。

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

[展开全文]

public class Person{ private int age; }

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

内存空间:

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

2、栈内存空间:保存堆内存的地址,对象名称

一个栈只能保存一个堆内存地址

对象必须为其开辟内存空间才能执行,否则会报空指针异常

[展开全文]
errymouse · 2017-10-27 · 类与对象(对象内存分析) 0

二分查找法(折半查找,采用递归完成):

前提,数组先排序

 

 

[展开全文]

引用传递本质在于别名,放在栈内存中,一个堆内存空间

当两个对象引用同一内存地址时,无论任何一方属性发生改变,另一方的属性也会同时发生改变

垃圾空间:没有任何栈内存指向的堆内存空间,将不定期的GC回收。

[展开全文]

如何使内部数据外部不可见,使用private实封装

类的设计原则:必须使用封装,如果需要对封装的对象进行操作,则需要对封装对象提供getter和setter方法

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

[展开全文]
errymouse · 2017-10-27 · private实现封装处理 0

区别变量和方法的最简单方法是看有没有()

属性是在对象开辟堆内存空间的时候生成的

构造方法是在使用关键字new的时候同时调用的(只调用一次)

普通方法是在对象已经实例化完成了再调用的(可调用多次)

定义一个有参构造,则默认的无参构造将不会在编译时自动生成

构造方法的调用和对象内存分配几乎是同步完成的,构造方法可以对属性进行初始化处理

通过构造方法设置内容实际上就可以避免重复的setter操作

匿名对象:new Person("张三",30)info();

由于匿名对象不会有任何的栈空间所指向,所以使用一次后将成为垃圾

 

[展开全文]
errymouse · 2017-10-27 · 构造方法与匿名对象 0

1.public String[] split(String regex,int limit)将字符串部分拆分,返回的是一个字符串数组。

 public String[] split(String regex)将字符串部分拆分。若发现有些n

[展开全文]

1.public String substring(int beginIndex)由指定索引处截取到末尾。

 public String substring(int beginIndex,int endIndex)截取部分字符串。

[展开全文]
class Outer{ private String meg="Hello World !"; static class Inner{ public void print() { System.out.println(msg) ;//error 只能使用外部类中的static操作 } } } 正确的代码: class Outer{ private static String meg="Hello World !"; static class Inner{ public void print() { System.out.println(msg) ;// } } static变量(类变量)随着类的加载而存在。 成员变量(实例变量)随着对象的创建而存在。
[展开全文]

链表 二叉树--数据结构的基本功

 

数据结构就是引用传递和递归

数组定长的线性结构的特点,使得如果内容过多或过少都会产生内存的浪费。

采用火车的车厢的问题,最好的做法就是使用一个不固定长度的数组,有多少数据就保存多少数据。类似于火车车厢。

如果想去定义火车车厢,不能只保留数据,还需要一个位置指向下一个节点。 

取出的方式利用递归的方式取出。递归的要有一个结束条件

 

[展开全文]
沸腾的硫酸 · 2019-01-06 · 链表(链表基本概念) 0
sss
[展开全文]
我嗲天呐@ · 2017-06-09 · 面向对象简介 0
JDK1.7及以前,方法中的内部类要 访问方法的形式参数,需要在形式参数 前面,加final。JDK1.8及以后的版本,可 不加。 内部类 : 破坏了程序的结构 方便进行私有属性的访问(通过类对象) 类名称上出现了“. ”,首先想到static 类。
[展开全文]

java中转义用"\\"两条斜线,而js中是一条斜线

[展开全文]
子类对象在实例化前一定会先实例化父类对象 子类构造函数里面采用super()语句实例化父类对象 super()在无参时可写可不写。 有参构造:有参构造一旦出现,默认的无参构造将不会出现。 父类的构造函数是有参构造时,子类的构造函数里的super(), 括号类需要明确指定调用父类的有参构造。 Java只允许单继承,不允许多重继承。允许多层继承。 一般最多三层。 (C++允许多继承。) Java子类会继承父类的所有结构:包括私有属性,构造方法 普通方法,共有属性。 所有的非私有操作属于显式继承:可以直接调用, 所有的私有操作属于隐式继承:通过其他形式调用。(通过父类public 方法访问private 成员变量) 所有的private操作无法直接使用,所以称为隐式继承。
[展开全文]

类的内存:

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

堆内存

栈内存

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

如果没有封装:   业务逻辑出错

 

让用户不能直接操作类的敏感内容

如何让内部操作让外部不可见!!!

 

private封装:只允许本类使用,不允许其他类使用。

 

 

private  

很少在方法用private修饰

private后,属性安全了。 外部不能访问了

 

setter方法  用来设置private的属性

getter方法 用来得到private的属性

不管用不用,都要有setter,getter

public void set***(数据类型  变量){

。。。;

}

 

类的设计原则:

设计类的时候,类中的所有属性必须使用private封装。

而是用private封装的属性如果需要被外部使用,那就按照格式定义相应的setter和getter

[展开全文]
六四零 · 2017-06-10 · private实现封装处理 0

构造方法与类名称相同,且没有注明返回值类型

 

构造方法允许重载,重载时只需要考虑参数的类型和个数

 

new 类名称();

类名称();   就是构造方法

 默认的构造方法(类中没有定义构造方法时)是:无参的,什么都不做的构造方法。

 

类构成:属性(开辟控件时有的),普通方法,构造方法(实例化对象时)。

构造方法:构造方法为类的属性初始化处理。

 

setter函数不仅能设置属性,还可以修改属性值

 

构造方法重载,注意结构顺序。。。。如参数个数升序/降序

类定义是一般遵循:

第一部分写属性,

第二部分写构造方法

第三部分写普通方法

 

 

匿名对象:::匿名对象没有栈空间

new 类对象(参数1 ,参数2,...)

 

 

 

[展开全文]
六四零 · 2017-06-11 · 构造方法与匿名对象 0

授课教师

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

相关课程

查看更多 >

本课程相关云产品