`
johnnycmj
  • 浏览: 35810 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

04.面向对象(1)--面向对象的概念

 
阅读更多

4、面向对象

4.1、面向对象的概念

4.1.1、 面向过程

   在早期出现的编程语言中,如大家都非常熟悉的C语言,当我们要用这种语言来定义一个复杂的数据类型等都是面向过程。

4.1.2、 面向对象

面向对象的3大特性:

封装  (Encapsulation)

继承  (Inheritance)

多态  (Polymorphism)

4.1.3、类与对象

        1、类:类是对某一类事物的描述,是抽象的、概念上的定义

2、对象:对象是实际存在的该类事物的个体,因而也称实例(instance)

 

4.1.4、类的定义:

类可以将数据和函数封装在一起,其中数据表示类的属性,函数表示类的行为。定义类就是要定义类的属性与行为(方法)。如:

 

    class Person{
		int age;
		void shout(){
			System.out.println(“oh,my god! my age is “ + age);
		}
	}
 

 

4.1.5、 对象的产生和使用

要创建新的对象,需要使用new关键字和想要创建对象的类名,如:

 

Person p1 = new Person();

 

等号左边以类名Person做为变量类型定义了一个变量p1,来指向等号右边通过new关键字创建的一个Person类的     实例对象,变量p1就是对象的引用变量

变量在被初始化之前是不能使用的,一个方法内部的变量必须进行初始化赋值,否则编译无法通过   的情况。当一个   对象被创建时,会对其中各种类型的成员变量按图自动进行初始化赋值。


 4.1.6、 对象的比较

 有两种方式可用于对象间的比较,它们是“==”运算符与equals()方法,“==”操作符用于比较两个变量的值是否相等,equals()方法用于比较两个对象的内容是否一致。如:

 

	class Compare{
			public static void main(String[] args){
			    String str1 = new String("abc");
				String str2 = new String("abc");
				String str3 = str1;
				if(str1==str2){
					System.out.println("str1==str2");
				}else{
					System.out.println("str1!=str2");	
				}
				if(str1==str3){
					System.out.println("str1==str3");
				}else{
					System.out.println("str1!=str3");	
				}
			}
		}

  程序运行结果是:

str1!=str2

str1==str3

我们下面再来看看使用equals()方法的情况。

 

	      class Compare{
			public static void main(String[] args){
		        String str1 = new String("abc");
				String str2 = new String("abc");
				String str3 = str1;
				if(str1.equals(str2)){
					System.out.println("str1 equal str2");
				}else{
					System.out.println("str1 not equal str2");
				}					
				if(str1.equals(str3)){
					System.out.println("str1 equal str3");
				}else{
					System.out.println("str1 not equal str3");
				}
			}
		}

  程序运行结果是:

str1 equal str2

str1 equal str3

 

  • 大小: 28.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics