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

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

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

加入学习
加入学习

  1.对象数组通常是以引用数据类型为主的定义,例如lei

[展开全文]

Garbage Collection 才对

[展开全文]

  1.在开发过程中,如果要判断用户输入的字符串是否等同与指定的字符串,那么一定要将字符串写在前面。

[展开全文]

  1.采用直接赋值的模式进行String类对象的实例化操作,则该实例化对象(字符串内容)将自动保存在Java中的对象池中。下次创建对象是采用直接赋值的方式创建相同的字符串,则不会new新的东西,直接调用对象池中的对象。

  2.使用构造方法创建字符串,则会产生垃圾空间,实际上也会对字符串共享产生一定的问题。

  3.public String intern()方法可以实现将new出来的字符串常量放入共享池中。

[展开全文]

抽象abstract

抽象类中包括抽象方法,不可以实例化

1.抽象类必须要有子类(内部可能已经提供了子类)

2.抽象类的子类必须覆写抽象类中的全部抽象方法(方法覆写一定要考虑到权限public)

3.抽象类的对象可以通过对象的多态性实现

 

[展开全文]

 JAVA 多态性的体现

方法的多态性

-Overload

同一个类中可以有多个相同方法名的方法,它们的参数列表各不相同(参数类型 参数个数 参数顺序)与返回值无关、修饰符无关。

-Override

在子类中可以存在与父类的某个方法名一致的方法,它们的参数列表相同 参数类型兼容 方法修饰符范围必须大于父类的,不可以抛出比父类更多的异常,可以抛出运行时异常。返回值可以是父类返回值的子类。

对象的多态性(前提:方法覆写)

【自动】对象向上转型

父类 父类对象 = 子类实列

【强制】对象的向下转型

子类 子类对象 = (子类)父类实列

 

[展开全文]
diggg · 2018-07-15 · 多态性 0

private int age;

public void setAge(int n){

 if(n>=0&&n<=150){

   age=n;

}else{

  age=0;

}

}

public int getAge(){

 return age;

}

类的设计原则:

类中的所有属性必须使用private封装

private只允许本类访问,而不允许外部访问。

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

1.数组的静态初始化,即数组在创建的同时进行赋值:完整格式:

  数据类型 数组名称 []=new 数据类型[] {}; 

 

[展开全文]

OOA

OOD

OOP

封装

继承

多态

面向对象

面向过程

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

1.二维数组的动态初始化:数据类型 对象数组 [][] = new 数据类型[行个数][列个数];

2.二维数组的静态初始化: 数据类型 对象数组 [][] = new 数据类型[][] {{值,值。。}};

[展开全文]

对象内存分析
1. new表示开辟新的内存空间

2.两个内存空间
    堆内存空间:保存真正的数据,保存的是对象的属性信息
    栈内存空间:保存的堆内存的地址,堆内存操作权,保存的是对象的名称

3.引用的本质是别名,只不过这个别名放在了另一个栈内存之中,即一个堆内存可以被多个栈内存所指向

4.垃圾内存空间指的是没有任何栈内存指向的堆内存空间,所有的垃圾空间将不定期被Java中的垃圾收集器(GC,Garbage Collector)进行回收以实现内存空间的释放,不过从实际开发来讲,虽然java提供有gc,但gc也会造成程序性能的下降,所以开发过程中一定要控制好对象的产生数量,即无用的对象应尽量少产生。

5.匿名对象不会有任何的栈空间所指向,所以使用一次后变成为垃圾空间
    匿名对象:Person("Mike",20).info()


Java类开发要求
1.类名称必须明确的描述出某一类事务,如Member、Dog

2.类的属性必须用private封装,所有的属性必须按照要求提供有setter、getter方法

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

4.类中的所有方法都不允许出现任何的System.out语句,所有的输出必须交给调用处完成

5.类中应该提供有一个返回类完整信息的方法,这个方法名称暂时为getInfo()

 

[展开全文]
  1. 封装性:
  2. 继承性:
  3. 多态性(最为重要的)

 

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

[展开全文]
angelra1994 · 2017-06-21 · 面向对象简介 0

类是一个共性的概念,对象指的是一个个具体的事物

在开发过程中首先产生类,而后才可以产生对象。

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

[展开全文]

class类定义的语法:

class类名称{

属性;

属性;

方法(){

}

}

类名称每个单词首字母要求大写,类中的每一个方法的代码尽量不要特别长

类定义完成之后是不能直接去使用的,如果要使用,必须产生对象,产生对象的方法:

1、声明并实例化对象:类名称 对象名称=new 类名称();

2、分布进行对象实例化:

   1.声明对象:类名称 对象名称=null

   2.实例化对象:对象名称=new 类名称()

[展开全文]
朗杰01 · 2018-04-07 · 类与对象(类与对象定义) 0

1.字符串常量是不可更改的,可以更改的是对象对象对字符串的引用,但是这样会产生很多垃圾,造成内存浪费。

[展开全文]

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

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

new表示开辟新的堆内存空间,内存地址被栈保存着

一个栈只能存一个地址

只有引用数据类型会产生NullPointerExpection错误,以后出现了就根据错误的位置观察是否实例化

[展开全文]
wangyunchuan · 2017-06-21 · 类与对象(对象内存分析) 0

引用传递的本质是别名,别名存在栈内存中,一块堆内存可以被多个栈内存指向

 

没有任何栈内存指向的堆内存空间叫做垃圾空间。

GC(垃圾收集器)收集垃圾空间

 

[展开全文]
wangyunchuan · 2017-06-21 · 类与对象(引用传递初次分析) 0

1.在String类中compareTo()方法是一个最为重要的操作方法,其返回值为Int类型。  

    (1)相等,返回0;

    (2)小于:返回的内容小于0;

    (3)大于:返回的内容大于0

[展开全文]

1.public boolean contains(String s) 判断一个子字符串是否存在。

 public int indexOf(String str)从头开始查找字符串的位置,若存在则返回索引处,否则返回-1.

 public int indexOf(String str,
      int fromIndex)从指定位置查找子字符串的位置。 

 public int lastIndexOf(String str)从字符串的末尾向前查找指定字符串的位置。

 public boolean startsWith(String prefix)判断是否以指定的字符串开头。

 public boolean startsWith(String prefix,int toffset)判断指定位置是否以指定字符串开头。

 public boolean endsWith(String suffix)判断是否以指定字符串结尾.  

2.一般查找字符串都建议使用contains()方法完成。

3.indexOf只能查找指定字符串第一次出现的位置。

[展开全文]

授课教师

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

相关课程

查看更多 >

本课程相关云产品