Java之面向对象(一)

public class OOP_4_22_01 {
	static {
		System.out.println("开始进行类的初始化");
	}

	public static void main(String[] args) {
		//测试咱们的构造器
		Point p = new Point(5.0, 6.0, 7.8);
		print(p.getDistance(new Point(2.0 , 4.0 , 3.5)));

	}

	public static void print(Object obj) {
		System.out.println(obj);
	}
}

/*
 *构造器:Java通过关键new来调用构造器,返回类的实例,构造器其实就是对对象初始化
 *格式如下:
 *		[修饰符] 类名  [形参列表] {
 *			//n条语句
 *		}
 *
 *要点:1、构造器虽然有返回值,但是不能定义返回类型,因为返回类型一定是本类
 *	  2、如果没有定义构造器,系统会自动为我们定义一个无参的构造器;如果我们自定义了构造器,
 *       我们一定记得要对类的无参构造器进行处理
 *    3、构造器的方法名和类名必须一致  
 *    
 */   

class Point {
	double x , y ,z;
	public Point () {

	}
	public Point (double x , double y , double z) {
		this.x = x;
		this.y = y;
		this.z = z;
	}
	public double getDistance(Point p) {
		return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)+(z-p.z)*(z-p.z));
	}

/*
 * 垃圾回收机制 Garbage Collection
 * JAVA的内存管理实际就是对象的管理,包括对象空间的分配和释放
 * 对象空间的分配:使用new关键字创造对象即可
 * 对象空间的回收:将对象赋值null,垃圾回收器会负责将所有“不可达”的对象的内存空间回收
 * 要点:1、程序员不能调用垃圾回收器
 * 	   2、程序员可以通过调用System.gc()通知进行垃圾回收,但是程序不会马上回收
 * 	   3、finaliza是JAVA提供给程序员用来释放对象或资源的,但是尽量少用
 */

/*
 * 方法重载
 * 要点:1、参数类型不同、或者参数个数不同、或者参数顺序不同  会构成方法重载
 * 	   2、构造方法也可以重载
 * 	   3、方法调用时,匹配离得最近的方法
 */

/*
 * this关键字
 * 要点:1、普通方法中指向调用该方法的对象
 *     2、构造方法中指向正要初始化的对象
 *     3、this不能用于static,想想为什么?
 */

/*
 * static关键字
 * 对于类而言:1、static声明的成员变量为静态成员变量,它被该类所有的实例共享,在类被载入的时候被显示初始化
 * 			2、可以通过  “类名.类属性名” 来调用
 * 对于方法而言:1、不需要new对象,可以直接调用
 *			 2、调用该方法的时候,不会将对象的引用传递给它,所以在static方法里面不能访问非static成员 
 */

}
时间: 2024-12-07 00:55:40

Java之面向对象(一)的相关文章

Java基础——面向对象练习题

1.建立一个图形接口,声明一个面积函数.计算圆形和矩形的面积.注:体现面向对象的特征,对象值进行判断,用异常处理.不合法的数值需要出现"这个数值是非法的提示",不再进行运算. 2.在一个类中编写一个方法,这个方法搜索一个字符数组是否存在某个字符.如果存在则返回这个字符在数组中第一次出现的位置,否则返回-1.需要搜索的字符数组和字符都一参数的形式传递给该方法.如果传入的数组为NULL,则应该抛出IllegalArgumentException异常. 3.补充compare函数代码. 4.

关于java中面向对象编程的一点点小感悟!!!

断断续续接触java已经有半年的时间,当然中间也有过很多事情,不得已而中断了java的学习.当初刚刚接触到java的时候,总是不能理解java的面向对象编程优点.平常生活中我们做事情的思维方式都是面向过程的,就拿最简单的我要上一个培训班来说: 第一步:当然得是网上.贴吧.朋友的口中来了解这个辅导班,以此来决定是否需要上这个辅导班. 第二步:当然就是当了解完成之后,对这个辅导班比较满意.自己就需要做准备来达到辅导班的要求,比如说学费.复习知识,准备参加辅导班规定的考试. 第三步:当然就是付诸实践,

JAVA的面向对象编程--------课堂笔记

JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么(方法):告诉外界对象有那些功能. 后者以前者为基础. 大的对象的属性也可以是一个对象.   为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律. 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节. 方法的定义非常重要.方法有参

Java入门——面向对象基础(一)

Java入门——面向对象基础(一) 本博客目的 练习题(重要) 面向对象的概念(了解) 面向对象的三大特性(重要) 2016-09-10——13:13:39 ll练习题 用方法调用的形式进行数组排序 1 package Sep10; 2 //调用方法完成两个整形数组的排序并打印 3 public class ArrayRefDemo03 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // T

java基础面向对象之封装

java基础面向对象之封装 2017-01-15 封装 1)封装性就是保证类内部被外部类不可见 2)所有属性都必须使用private关键字声明 3)封转后的属性如果要被外部所访问就必须实现set和get方法 例如: 使用了private声明的属性只有在自己的类是可见的 1 class Book{ 2 private String title ; //使用private声明的属性 3 private int price ; 4 } 5 public class PrivateDemo1 { 6 p

《head first java》值得Java或面向对象基础的新手看。

看完这本书后本人收获良多. 内容对Java以及面向对象的入门者非常友好. 抽象的内容惯用图解的方法来剖析,通俗易懂 之前看C#入门经典的面向对象时,依然浓浓的一头雾水. (1)很不解为何实例化要写成A a  = new A(); 不解为何“A要重复写两次”: 不解为何“等号两边都有A,感觉它就像在说‘A=A’这样的废话一样”: (2)不知道什么是多态性,为什么是面向对象的特点,有什么好处等等. (3)不知道被抽象(abstract)修饰的类,修饰类到底是什么个东西. 后来明白了,抽象类就是不能被

java基础面向对象之类与对象

java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 ?封装性:保护内部结构的安全性 ?继承性:在已有的程序结构上扩充新的功能 ?多态性:在某一个该娘范围内满足 2)面向对象开发分为以下几个步骤: OOA(面向对象分析) OOD(面向对象设计) OOP(面向对象编程) 2.类与对象 1)了解类与对象的关系 ?认识类与对象 类与对象是整个面向对象之中最基础的组成单元,类是共性的一个集合,而对象是某一

java基础面向对象之this关键字

java基础面向对象之this关键字 2017-02-14 this的核心概念: this关键字在java中表示当前对象. this关键字的主要用法: 在java中利用this关键字可以实现类属性的调用,类方法的调用,当前对象. 一.调用属性 1 class Book{ //Book类 2 private String title ; //title属性 3 private int price ; //price属性 4 5 public Book(String t , int p){ 6 ti

java之面向对象---上

1:值类型 八大类型:整性—>byte(1字节),short(2字节),int(4字节),long(8字节): 浮点数—>float(4字节)--8位整,23位小数,1位符号:double(8字节)--11位整数,52位小数,1位符号 字符—>char(2字节)---汉语的原因吧 逻辑型—>bool(1bit) 其它数据类型:类类型. 存储方式:8大类型变量存储于栈中:是值类型 类类型变量,是引用类型,对象存放于堆中,在栈中存引用值,大小固定为4字节. 只能通过new来构造对象,不

Java入门——面向对象基础

Java入门——面向对象 public class和class声明类的区别: public class生命时:文件名必须与类名相同 class声明时,文件名和类名可以不一致 一个文件中可以有多个class定义的类,但是只能由一个public class定义的类 标识符编写的建议 不要使用过多符号,最好用字母开头 可以有大小写字母,下划线,数字,$ 不能以数字开头 数据类型分为“基本数据类型”.“引用数据类型” 基本 整数类型 byte short int long 浮点类型 float doub