什么是类?
类是对一组具有相同属性、操作的同类事物的描述,是抽象的、概念上的定义。
什么是对象?
对象是实际存在的实体,是通过类生成的
类和对象的关系:
类和对象之间的关系就像模具和通过模具生产出的产品的关系一样,类定义好了通过它生成的对象有哪些属性和方法,而模具定义好了通过它生成的产品该是个什么样子的
如何定义一个类:
一个类中可以包含属性(也叫变量)和方法(也叫函数)具体定义如下
class Person{ //Person为类的名称
final int MAX = 99;
String name; // name为类Person中的属性 该属性为String类型的
static int age;
public Person(String s,int a){
name = s;
age = a;
} //构造方法 含有两个参数 s 和a,没有返回值
public Person(){
name = “defaultName”;
age = 1;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
} //普通方法getName ,没有参数,返回值为String类型
public static int getAge(){
return age;
}
}
通过类创建对象
Person person;//这里是声明了一个对象,此时person的值未null
person = new Person(“yee4”,1);//new person(“yee4”,1);调用Person类的构造方法,在堆内存开辟一块空间,并返回它的地址,给等号左边的person引用。
对象的使用
创建了对象后,可以通过.操作符号来调用这个对象的公开的属性和方法如
person.getName();//调用person对象的getName();方法
person.age=1;//让person对象的age属性的值为1;
实例变量:
上面的name就是实例变量,实例变量是属于某个对象的,只能通过对象调用,如
person.name;
静态变量:
age是静态变量,静态变量是属于所有对象共有的,可以通过对象调用也可以通过类名调用 ,
person.age = 1;
或者
Person.age =1;
final变量(常量)
Person类中的MAX就是final变量,final常量声明时必须初始化,该常量只能读取它的值,不能去改变它的值
实例方法
上面的getName()方法就是实例方法,实例方法只能通过对象调用,如
person.getName();
实例方法的定义
返回值 方法名(参数类型 参数名){
方法体;
}
静态方法
getAge()方法就是静态方法,和静态变量一样,静态方法时属于类的,也就是说所有对象共用一个静态方法,静态方法可以通过某个对象名调用,也可以直接通过类名调用。如
person.getAge();
Person.getAge();
注意,在静态方法中只能调用这个类中的其他静态方法或者静态变量,不能调用这个类中的实例方法或者实例变量
方法重载
方法重载是在同一个类中方法名相同,参数个数不同,或者是参数类型不同的几个方法,形成了重载。如上面的两个构造方法
person();和person(String s,int a );
this关键字的使用
在 public void setName(String name) 这个方法中用到了this关键字,this是代表当前对象,如果通过刚才的person对象调用setName方法,如
person.setName(“newName”);
这个this也就是person这个对象,this.name,也就是person.name,由于作用域的原因,在setName这个方法中有和name这个属性同名的变量,我们直接写name,访问的是这个作用域的变量,也就是参数name,如果没有同名的变量,我们要访问这个对象中的属性,可以省略this.。 注意,this是代表某个对象,而静态方法不是属于某个对象,所以在静态方法中不能使用this
包的定义
包是一种将相关类及接口组合起来的集合体,即命名空间
声明方式:
package name;
name是包名称,包名习惯写成com.公司名称.地区.包名称
导入包
如果我们要导入包com.yee4.liu.HelloWorld
import com.yee4.liu.HelloWorld;
导入包后,就可以使用其他包中的类名了
本文转载于安卓杂谈网http://www.yee4.com/blog/117.html
相关推荐
五、 封装(面向对象特征之一)★★★★ 23 六、 继承(面向对象特征之一)★★★★ 25 七、 接口(面向对象特征之一)★★★★ 28 八、 多态(面向对象特征之一)★★★★ 30 九、 java.lang.Object 31 十、 异常★...
在Java面试过程中,熟练掌握Java基础知识是非常重要的。基础知识是构建更高层次技能和技术的基石,因此,对Java基础知识的理解和掌握程度是评估一个程序员技能水平的重要标准。 首先,熟练掌握Java基础知识能够展现...
面向对象基础 Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 Java中的Class类和Object类 Java异常 解读Java中的回调 反射 泛型 ...
jdk,eclipse使用,循环,数组,基础API,面向对象,循环,运算符,关键字,String详解,IO流
Java基础教程主要是讲述有关Java面向对象的程序设计所必需的知识和技能,并讲授Java编程语言句法和面向对象的概念,以及Java运行环境的特性,Java类库的使用等,共11章63个小节,教初学者轻松入门Java编程。
本书讲解Java程序设计知识及其编程方法,包括Java语言的基础语法、结构化程序设计、面向对象程序设计、数组、字符串、向量、哈希表、泛型、枚举、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程...
Java编程详解(详细介绍了java基础知识和面向对象的高级编程)
面向对象基础 Java基本数据类型 字符串和包装类 关键字最终特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 Java中的Class类和Object类 Java异常 解读Java中的回调 反射 泛型 枚举...
内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、...
19.1.1 网络基础知识494 19.1.2 网络基本概念495 19.1.3 网络传输协议496 19.2 Java网络类和接口497 19.3 InetAddress类498 19.4 URL和URLConnection类499 19.5 Scoket套接字505 19.6 Datagram套接字509 19.7 综合...
第7章~第9章依次说明类与对象、继承、多态、接口、嵌套类、抽象类和包,可以轻松带领读者进入面向对象程序设计的领域;第10章讲解了线程和泛型集合对象;第11章是XML与Android的开发基础;第12章~第13章讲解了建立...
全书共16章,通俗易懂的语言阐述各个基础知识点,入门必备 第一章:编程基础 3-11 第二章:数组 11-31 第三章:面向对象程序开収 31-74 第四章:异常机制 74-89 第五章:多线程技术 89-122 第六章:常用类 API ...
主要介绍了java 面向对象面试集锦的相关资料,这里整理了面向对象的基础知识,帮助大家学习理解此部分的知识,需要的朋友可以参考下
7.2 面向对象基础 120 7.2.1 对象基础 121 7.2.2 面向对象程序语言 121 7.3 类与对象 122 7.3.1 类与对象 122 7.3.2 成员变量的访问 126 7.3.3 成员方法的使用 128 7.3.4 重载方法 130 7.4 类的...
Java基础:Java概念、基础语法、面向对象的理解、String类、Object类、序列化、泛型、注解与反射、JDK1.8新特性等;Java集合:List底层实现、Map底层实现等;Java并发编程:ThreadLocal、Java内存模型、锁、并发工具...
本书涵盖了JavaSE开发环境配置、程序设计基础、面向对象相关技术、常用API、UML基础知识。在章节中穿插了上机习题,并提供了答案,用于对该章内容进行阶段性总结演练。 作者长期从事教学工作,积累了丰富的经验,其...
Java 基础 JAVA 开发基础知识 Eclipse 开发环境 多线程技术 Socket 网络技术 Regular Expression Java 反射技术 各种实战设计模式 面向对象设计原则详解 Java collection Reflection JVM 原理与配置、调优 Java 设计...
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
子类使用extends继承父类是Java面向对象编程中的基础知识,这里我们就来详解Java中使用externds关键字继承类的用法,需要的朋友可以参考下