`
yiheng
  • 浏览: 156608 次
社区版块
存档分类

Oracle培训(六)——Core Java第六章知识点总结——面向对象

阅读更多

Core Java 第六章知识点总结——面向对象

知识点预览

 

对象的概念

类的概念

方法

方法的重载(Overloading)

构造方法

对象与引用

this关键字

 

对象的概念

 

1. 什么是对象(具体的定义状态(属性)和行为(方法)的一个实体

一切客观存在的事物都是对象

2.对象的组成

属性 有什么(描述对象) 对象的属性也可以是对象

方法 能做什么(自己使用 别人使用)

3.      计算机世界中的对象(连续的存储空间


类的概念

1. 类是什么

具有相同行为和状态的对象的集合

a)        类是对大量共性的抽象

b)       类是客观事物在人脑中的主观反映

c)        类是创建对象的模板

 

先有类,后有对象

class Student{

        String name;//属性、实例变量、成员变量

        int age;

}

2. 定义类、创建对象

a)        创建对象 new Student();

b)       定义一个变量存储创建的对象

Student s;

s = new Stuent();

可写在一起

Student s = new Stuent();

 

基本类型 8

对象类型(引用):数组、对象、接口

3. 实例变量(类中的变量) 属于对象

a)        访问 .

b)       属性初始化

class Student{

       String name = “suns”;

       int age;

}

4. 实例变量(类)与局部变量(方法)的区别

局部变量

先赋值后使用

作用范围(从定义的代码块开始到定义的代码块结束)

命名不可冲突(同一作用范围内)

实例变量

可以不赋值就使用

a)        实例变量存在默认值(各种各样的0

b)       实例变量至少在本类的范围内有效

c)        实例变量可以和局部变量命名冲突,局部变量优先使用

 

方法

 

方法声明、方法实现

1. 格式

修饰符 返回值类型 方法名(参数1,参数2) [异常]{

               方法体

}

 

方法的重载(Overloading)

1. 方法重载(Overloading) 同一个类中方法名相同、参数不同

2. 源码参考

 

class A{

        //参数个数不同

        void m(){}

        void m(int a){}

        void m(int a,int b){}

        //参数类型不同

        void m(String s){}

        //参数类型相同但排列不同

        void m(int a,String s){}

        void m(String s,int a){}

        //形参名字不同 不算重载

        void m(int a){}

        void m(int b){}

}

3. 方法重载的意义

对方法的调用者屏蔽因方法参数不同所造成的差异

 

构造方法

 

特殊性:定义语法 作用

1.构造方法的概念

       publicStudent(){

 

}

a)        没有返回值类型(和没有返回值void不同)

b)       方法名同类名一致

c)        用在对象的创建 构造对象

2.      构造方法的重载

3. 构造方法的特点

a)        构造方法不能手工调用,被JVM自动调用

Student s = new Student();//告诉虚拟机

s.Student();

b)       构造方法在对象构造时,被自动调用一次,而且只会被调用一次

                       i.             分配空间

                     ii.             初始化属性

                   iii.             调用构造方法

c)        构造方法没有返回值

d)       如果一个类中没有定义构造方法,系统默认提供一个公开的、无参的空构造方法

4. 构造方法的使用场景

构造方法经常用于给实例变量赋值

 

对象与引用

 

1.引用概念

Student s;

s = new Student();

2. 引用存储的是对象内存空间的首地址

s.print();//遥控器与电视机的关系

s指向首地址

3. 程序中的值传递

简单类型存储值(在内存中)

对象类型存储地址


//TestValue1.java 
package chp6.ex08;

/**
 * 
 * 说明:本程序演示了值传递 结果为10 基本类型 内存中存的是值
 */
public class TestValue1 {
  public static void main(String args[]){
	  int a = 10;
	  int b = a;
	  b++;
	  System.out.println(a);
  }
}

//答案:10

//TestValue2.java 
package chp6.ex09;

/**
 * 
 * 说明:本程序演示了值传递  结果为21 对象类型 内存中存储的是地址
 */
public class TestValue2 {
  public static void main(String args[]){
     Student s1 = new Student();
     Student s2 = s1;//s2和s1指向的是同一地址
     s2.age = 21;
     System.out.println(s1.age);
  }
}
class Student{
  int age = 20;
}

//答案:21

//TestValue3.java 
package chp6.ex10;

/**
 * 
 * 说明:本程序演示了方法中的值传递 结果为10 基本类型 内存中存的是值
 */
public class TestValue3 {
	public static void main(String args[]){
		int a = 10;
		m1(a);
		System.out.println(a);
		  
	 }
	
	public static void m1(int a){
		a ++;
	}
}

//答案:10

//TestValue4.java
package chp6.ex11;

/**
 * 
 * 说明:本程序演示了的方法中的值传递  结果为21 对象类型 内存中存储的是地址
 */
public class TestValue4 {
   public static void main(String args[]){
	  Student s = new Student();
	  m2(s);
	  System.out.println(s.age);
	  
   }
   public static void m2(Student stu){ 
	   stu.age++;
   }
}
class Student{
  int age = 20;
}

//答案:21 

 


this关键字

 

1. this关键字的概念

this是一种特殊的引用,指向当前对象

2. this的作用

a)        如果方法局部变量与实例变量命名冲突时,可以通过this属性的方式区分实例变量和局部变量

b)       如果发生一个构造方法中需要调用另一个构造方法,可以通过this()的方法调用,但this()必须书写在第一行

 

 

String类

 

1. 创建一个字符串对象

String s = “suns”;

String s = newString(“suns”);

2.      字符串值的判断equals方法

String s1 = newString(“suns”);

String s2 = newString(“suns”);

System.out.println(s1== s2);//false == 判断引用

System.out.println(s1.equals(s2));//true equas判断内容

3.      串池(””创建的字符串独立存储在内存的串池空间中

String s1 = “suns”;

String s2 = “suns”

System.out.println(s1== s2);//true

4.      String类中的常用方法

booleanequals();

char charAt(intpos);

int length();//方法 数组length为属性

String[]split();

booleanstartWith(String s);

trim();

StringsubString(int begin,int end);

//”suns”.subString(0,2);su

5.      字符串的连接

//不好过多侵占内存空间

String s1 = “sun”;

String s2 = “shuai”

String s2 = s1 +s2;

 

//推荐使用不会开辟新空间

StringBuffer sb= new StringBuffer();

sb.append(“sun”);

sb.append(“shuai);

System.out.println(sb);

 

 

更多详细信息请查看java教程网 http://www.itchm.com/forum-59-1.html
分享到:
评论

相关推荐

    面向对象程序设计——JAVA.pdf

    《面向对象程序设计——JAVA.pdf》是一份详细阐述Java编程的资料,适合初学者入门。这份资料涵盖了Java的基础知识,包括Java的起源、体系结构、主要特性,以及如何搭建Java开发环境和配置系统环境变量,最后还介绍了...

    Java面向对象程序设计

    Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...

    oracle系统培训课件——资料包(7个ppt).rar

    这个“Oracle系统培训课件——资料包(7个ppt)”压缩文件包含了一系列PPT教程,旨在帮助学习者深入理解Oracle系统的各个方面。下面我们将详细探讨这些课件可能涵盖的关键知识点。 1. **Oracle概述**: - Oracle...

    Oracle课程设计——学生信息系统

    Oracle 课程设计——学生信息系统 Oracle 课程设计——学生信息系统是苏州职业大学计算机工程系课程设计的主要内容,旨在设计一个学生信息系统,该系统使用 Oracle 数据库管理系统,旨在实现学生信息的存储、管理和...

    Oracle SOA 套件——Oracle BPEL 流程管理器

    ### Oracle SOA 套件——Oracle BPEL 流程管理器 #### 执行概况与背景 在当今快速变化的市场环境下,企业面临着前所未有的挑战:市场动态变化迅速、竞争压力持续增大以及客户需求多样化。这些因素共同作用,对企业...

    Oracle工作总结——日志文件切换频率的调整.doc

    Oracle工作总结——日志文件切换频率的调整.doc

    oracle 数据库系统——管理与应用

    "Oracle 数据库系统——管理与应用"涵盖了从基础理论到实践操作的广泛知识,旨在帮助用户深入理解Oracle数据库的管理与应用。 首先,Oracle数据库系统的基础包括SQL(结构化查询语言)的使用,这是与数据库交互的...

    Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案

    原书名:Oracle 9i Java Programming <br>Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 <br>【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...

    Oracle 数据库系统——基础与工具.pdf

    Oracle 数据库系统——基础与工具.pdf

    Oracle数据库管理员培训教材——10g版本

    以上是Oracle数据库管理员培训教材——10g版本中所涉及到的核心知识点,包括版本选择、平台选择、管理工具选择、SQL语句的学习与实践、备份的重要性、体系结构知识、学习衡量标准、图形界面的使用、安装过程的挑战、...

    Oracle工作总结——日志文件切换频率的调整

    Oracle数据库的日志文件切换频率是数据库管理中的一个重要参数,它直接影响到系统的性能和稳定性。当日志文件频繁切换,可能表明数据库活动剧烈,这可能导致I/O瓶颈,影响系统响应时间。相反,如果切换频率过低,...

    oracle 11g——4

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...

    java连接oracle数据库———sqlHelper类

    在Java编程中,连接Oracle数据库是一项常见的任务,用于执行SQL查询、更新和其他数据库操作。`sqlHelper`类是一个自定义的工具类,旨在简化这个过程,提供一个方便、高效的接口来处理数据库交互。本篇文章将深入探讨...

    oracle系统培训课件——资料包(7个ppt)

    这个“Oracle系统培训课件——资料包(7个ppt)”提供了全面了解Oracle系统的宝贵资源,旨在帮助学习者掌握Oracle的基础知识、进阶技能以及实际操作经验。以下是对每个PPT可能涵盖的关键知识点的详细解读: 1. **...

    JAVA_JDBC面向对象分页(初步设计二之oracle)

    总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...

    Oracle10g 培训——基础知识

    Oracle 10g 是一款广泛使用的数据库管理系统,其基础知识对于初学者来说至关重要。本文将深入讲解Oracle 10g的一些核心概念和功能,包括新特性、数据库架构、实例的启动与关闭、监听与服务配置、用户与权限管理,...

    Oracle 实用教材———web版

    "Oracle 实用教材———web版"显然是一本专为初学者设计的教程,旨在通过Web方式进行Oracle 9i数据库的学习和实践。Oracle 9i是Oracle公司推出的第九个主要版本,它在功能上进行了许多优化和增强,尤其是在互联网...

    Oracle面向对象编程的探索

    Oracle 面向对象编程技术实现,让开发者像使用 C#、C++、Java 一样理解 Oracle。Oracle 面向对象编程的探索这个题目完全可以按一本书来写,但本文只能简单地探讨 Oracle 面向对象技术的主要特征。 一、 Oracle 面向...

Global site tag (gtag.js) - Google Analytics