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

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

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

加入学习
加入学习

面向生活抽象,生活中可行就可以以程序进行实现。

[展开全文]
沸腾的硫酸 · 2018-06-12 · 面向对象简介 0
被覆写的方法不能拥有比父类更严格的访问权限。
[展开全文]
pacific_moon · 2017-07-25 · 覆写(方法覆写) 0

数组只要一个索引就可以使用 

【行索引】【列索引】

动态初始化

数据类型  对象数组 [] []=new 数据类型 [行个数][列个数];

静态初始化 在动态数组的基础上加上数组内部的具体数值

int data[] []= new int[] []{

{1,2,3},{4,4,5},{5,6,8}}

[展开全文]
沸腾的硫酸 · 2018-06-18 · 数组的定义与使用(二维数组) 0

  1.类定义完之后不能直接使用,必须先new一个对象才能调用。

  两种方法: (1)声明并实例化对象:

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

  (2)分布进行对象实例化:

【1】声明对象: 类名称 对象名称 =null;

【2】实例化对象:对象名称 = new 类名称();

  2.调用类中的属性:对象.属性= 内容;

  调用类中的方法:对象.方法();

  

[展开全文]

访问static属性直接通过类名称。

而非static属性必须通过实例化对象才能访问。

[展开全文]
teynui · 2017-10-22 · static关键字(static属性) 0

实例化对象的产生格式:

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

对于以上的格式观察组成部分:

  1. 类名称:任何的对象都应该有对应的类,因为没有类就不知道对象具备的功能;
  2. 对象名称:是一个唯一的标记,表示的是以后操作的属性的标记;
  3. new:表示开辟新的堆内存空间;
  4. 类名称():构造方法。

所以通过以上分析可以清楚,所谓的构造方法指的就是在使用关键字new实例化新对象的时候来进行调用的操作方法,但是对于构造方法定义也需要遵守如下原则:方法名称必须与类名称相同,并且构造方法没有返回值类型声明,同时每一个类中一定会至少存在一个构造方法,如果类中没有一个构造方法,那么将自动生成一个无参的,什么都不做的构造方法。

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

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

构造方法是在使用关键字new的同时调用的;

普通方法是在对象实例化完成了(空间开辟了,构造方法执行了)再调用的,可以调用多次;

构造方法的作用:

构造方法的调用和兑现内存分配几乎是同步完成的,所以可以利用构造方法设置类中的属性内容,构造方法可以为类中的属性进行初始化处理;

通过构造方法设置内容实际上就可以避免重复的setter调用了。

在实际开发之中,setter方法除了具备有设置内容制外,还可以承担修改数据的操作。

既然构造方法本身属于方法,那么方法就一定可以进行重载,而构造方法的重载更加简单,因为方法名称就是类名称,所以可以做的只是实现参数的类型或个数不同这一概念。

在进行类定义的时候,注意以下:

  • 第一部分写属性;
  • 第二部分写构造方法;
  • 第三部分些普通方法;

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

构造方法每个类中至少存在一个;

构造方法的名称与类名称相同,无返回值类型定义;

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

[展开全文]
时光如流沙 · 2017-12-13 · 构造方法与匿名对象 0

类中的属性必须用private封装

属性必须按要求提供setter,getter方法;

类中必须保留一个无参构造方法,可以定义多个构造方法

类中的方法都不允许出现system.out的语句

类中必须提供一个返回类完整信息的方法。

 

 

简单java类:

属性

构造方法

setter方法

getter方法

 

[展开全文]

声明数组:

数据类型  数组名称 []=null;

开辟数组空间 :数组名称=new 数据类型 [长度]

 

例如  String product[ ]=null;

 

product=new String[100];

 

String Product[]=new String[100];

 

 

数组长度:数组名称.length;

 

数组必须开辟空间(实例化)

[展开全文]

程序是按照结构的偏差归类,而不是根据方法名来定义 

 

[展开全文]
攀登小虾米 · 2018-05-22 · 构造方法与匿名对象 0

多例设计,要求描述一周时间数的类,有七个

这些都属于多例设计模式

  更多个内部实例化对象产生而已

发生

构造方法必须 私有化

不管

构造方法私有化

类内部一定提供一个static 

编写几率不是很高

多例模式已经被枚举取代

[展开全文]
不忘实心 · 2018-11-07 · 单例设计模式(多例设计模式) 0

数组空间开辟:

 

int data []=null;

有栈值,没有堆值;

有 new 之后才会开辟  堆空间

如果发生引用传递,不能有中括号

 

比如:int data []=new int [100];

int temp[]=null;

 

for(int i=0;i<100;i++){

      data[i]=i;

}

 

如果temp要引用data,

则temp=data;不要出现中括号

 

temp=data;引用传递:::data里面存的是地址

 

此时 若利用temp修改值,则data指向的值也改变了。因为它们指向的是同一地址。

 

[展开全文]

程序维护方面,面向对象方法有优势

[展开全文]
振荡电路 · 2017-06-11 · 面向对象简介 0

堆内存可以被多个栈内存调用

栈内存存放内存地址。

堆内存是内容   

 

per1 per2都有各自的指向,如果把per1的地址内容给了per2,则需要先把per2原先的与内容的连接断开。 原先per2所指向的堆内存是为垃圾内存。

再重新操作per2,则输出的是更改过的per2的内容。

垃圾空间是指没有栈内存指向的堆内存。会被GC garbage collecter收集。gc影响性能,故而要控制对象的产生数量,也即少产生无用的对象。

[展开全文]
沸腾的硫酸 · 2018-06-13 · 类与对象(引用传递初次分析) 0

重载

1.Overloading

2.方法名称相同,参数的类型及个数不同

3.发生在一个类之中

4.没有权限要求

覆写

1.Override

2.方法名称、返回值类型、参数的类型及个数完全相同

3.继承关系之中

4.被覆写的方法不能有比父类更高的访问使用权限

[展开全文]
iiangiiang · 2017-10-23 · 覆写(方法覆写) 0

数组赋值用大括号

 

缺点:shu'zu'chang'du'gu'd

[展开全文]

public String(char[] value)字符串就是字符数组。

public String (char[] value,int offset,int count)将字符数组中的所有内容变成字符串。

public char charAt(int index),取得索引位置的字符。0为起始位置。 

toChararray 将字符串变为字符数组

字符串和字符数组的互相转换是重点内容

System.out.promtln(new String(data,5,5))//部分转换

System.out.println(new String(data))实现字符数组转换成字符串。

调用String类,返回结果就一定是字符串

 

[展开全文]

外部循环控制行数;

内部循环控制列数

[展开全文]

数组排序的方法:Arrays.sort()

数组拷贝:A,B,将B的一段拷贝到A,则A是源

System.arraycopy(源数组名称,源数组拷贝起始坐标,目标数组,目标数字接受起始位置,拷贝长度)

 

[展开全文]

求数组,最值,均值,总和。

上述要求一定需要循环

 

主方法应该越简单越好。

 

数组的数据类型有局限性,数据类型必须相同

[展开全文]

授课教师

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

相关课程

查看更多 >

本课程相关云产品