Java技术_Java千百问(0029)_类、对象到底有什么秘密
2016-04-15 14:46
567 查看
点击进入_更多_Java千百问
类
对象
方法
抽象化
多态性
继承
封装
我们首先看看类和对象的概念。
例如:狗是一个类,它具有四肢、尾巴、头、脊椎等属性,具有吠叫、吃、繁殖等行为。
例如:我家对门养的一只狗,具体到了某一只。
类有以下关键点:
1、类可以包含以下任意类型的变量。
局部变量、实例变量、类变量。了解三者详情看这里:局部变量、类变量、实例变量有什么区别
2、类可以有任意数量的方法。
在上面的例子中,该类拥有barking(), hungry() 和 sleeping()三个方法。
3、类的构造函数
有关于类的讨论,其中最重要的部分之一是构造函数。每个类都有一个构造函数,如果我们不明确地写一个构造函数的类,Java编译器生成一个默认的构造函数(无参数的)。
在每次创建一个类的新对象时,至少有一个构造函数被调用,在这里会按照不同需求初始化一些对象内部的属性。
构造函数的主要规则是,他们应该具有相同的名称作为类。一个类可以有多个构造函数(当然每一个的参数都应该不同)。
构造函数的例子如下︰
Java还支持单实例类,在这里能够创建的类只有一个实例。更多单例模式看这里:单例模式(Singleton)
在Java中,使用关键字new创建新的对象。
根据类创建对象有三个步骤:
- 声明: 变量声明,一个变量名的对象类型。
- 实例化: 使用new关键字创建对象。
- 初始化: 关键字new后跟调用一个构造函数。初始化新的对象。
创建对象的实例:
将产生以下结果:
Passed Name is :tommy
要访问一个实例变量和方法如下:
例子:
将产生以下结果:
Passed Name is :tommy
Puppy’s age is :2
Variable Value :2
1、类、对象的概念是什么
Java是目前应用最为广泛的面向对象特的语言,它具有以下基本概念:类
对象
方法
抽象化
多态性
继承
封装
我们首先看看类和对象的概念。
类
类是一个模版。是一个可以定义一类具有相同属性、行为的模版。例如:狗是一个类,它具有四肢、尾巴、头、脊椎等属性,具有吠叫、吃、繁殖等行为。
对象
对象是一个具体实例。根据是一个类的具体实例。例如:我家对门养的一只狗,具体到了某一只。
2、Java如何定义类
类的定义如下︰public class Dog{ String breed; int age; String color; void barking(){ } void hungry(){ } void sleeping(){ } }
类有以下关键点:
1、类可以包含以下任意类型的变量。
局部变量、实例变量、类变量。了解三者详情看这里:局部变量、类变量、实例变量有什么区别
2、类可以有任意数量的方法。
在上面的例子中,该类拥有barking(), hungry() 和 sleeping()三个方法。
3、类的构造函数
有关于类的讨论,其中最重要的部分之一是构造函数。每个类都有一个构造函数,如果我们不明确地写一个构造函数的类,Java编译器生成一个默认的构造函数(无参数的)。
在每次创建一个类的新对象时,至少有一个构造函数被调用,在这里会按照不同需求初始化一些对象内部的属性。
构造函数的主要规则是,他们应该具有相同的名称作为类。一个类可以有多个构造函数(当然每一个的参数都应该不同)。
构造函数的例子如下︰
public class Puppy{ public Puppy(){ } public Puppy(String name){ // This constructor has one parameter, name. } }
Java还支持单实例类,在这里能够创建的类只有一个实例。更多单例模式看这里:单例模式(Singleton)
3、java中如何创建对象
如前面提到的,类提供的是模版,所以基本上一个对象是根据一个类创建的。在Java中,使用关键字new创建新的对象。
根据类创建对象有三个步骤:
- 声明: 变量声明,一个变量名的对象类型。
- 实例化: 使用new关键字创建对象。
- 初始化: 关键字new后跟调用一个构造函数。初始化新的对象。
创建对象的实例:
public class Puppy{ public Puppy(String name){ // This constructor has one parameter, name. System.out.println("Passed Name is :" + name ); } public static void main(String []args){ // Following statement would create an object myPuppy Puppy myPuppy = new Puppy( "tommy" ); } }
将产生以下结果:
Passed Name is :tommy
4、如何访问对象的实例变量和方法
实例变量和方法是通过刚才创建的对象来访问的。要访问一个实例变量和方法如下:
/* First create an object */ ObjectReference = new Constructor(); /* Now call a variable as follows */ ObjectReference.variableName; /* Now you can call a class method as follows */ ObjectReference.MethodName();
例子:
public class Puppy{ int puppyAge; public Puppy(String name){ // This constructor has one parameter, name. System.out.println("Passed Name is :" + name ); } public void setAge( int age ){ puppyAge = age; } public int getAge( ){ System.out.println("Puppy's age is :" + puppyAge ); return puppyAge; } public static void main(String []args){ /* Object creation */ Puppy myPuppy = new Puppy( "tommy" ); /* Call class method to set puppy's age */ myPuppy.setAge( 2 ); /* Call another class method to get puppy's age */ myPuppy.getAge( ); /* You can access instance variable as follows as well */ System.out.println("Variable Value :" + myPuppy.puppyAge ); } }
将产生以下结果:
Passed Name is :tommy
Puppy’s age is :2
Variable Value :2
相关文章推荐
- java如何异步方式处理业务逻辑
- eclipse快捷键
- java生成彩色附logo二维码
- Java代理模式
- Spring Mvc - 用户注册服务端生成默认头像实现
- MAVEN工程的构建与命令使用
- spring AOP动态代理使用和配置方式(手打)
- java不定长参数的简单使用
- 浅谈Java开发中的代理模式
- Java 父类,子类各自均有构造器和静态代码块 执行的顺序
- spring知识点积累
- 关于J2EE/EJB/Spring
- javah的使用常见错误
- Java中GC的工作原理详解
- java 判断对象是否为String类型
- 【Spring实战】—— 5 设值注入
- java File类的基本使用方法总结
- netbeans许可证模板设置
- 【Spring实战】—— 4 Spring中bean的init和destroy方法讲解
- 在powerdesigner 中出现Could not Initialize JavaVM! 应该怎么解决