什么是对象


在Java语言,全部的人,事物或者模块都是一个对象。

同样的对象具有一些同样的特性。



狗,猫,蛇3个对象(动物的对象)



苹果,梨,桔子3个对象(水果的对象)

什么是类


能够将现实生活中的对象经过抽象

这样的抽象数据类型称为类。

动物类(Animal)

水果类(Fruit)

类和对象的关系


类是对象的模板(抽象化表示),对象是类的实例化(详细化的展现)

类的组成结构

Java是纯面向对象(除了8种基本数据类型)

而对象是从类产生的。因此类是组成Java程序最基本也是最核心的

元素。

变量(属性,成员变量)



   方法(函数,成员方法,责任)



   消息(对象与对象之间的通讯,对象数据之间的传递)

属性的定义

属性的的定义

属性的初始值(默认值)

booleanfalse

byte/short/int/long 0

float 0.0f

double 0.0d

char ‘\u0000’

对象类型 null

变量的分类与作用域

类变量:类对象属于对象。static修饰的变量称为类变量。

静态区中。仅仅实例化一次,因此仅仅占领一次内存。



对象的成员变量:成员变量是属于对象。

堆区。



局部变量。局部方法中定义的变量,以及形式參数都是局部变量。

栈区。

变量的作用域(生命周期)

就是不同类型的变量在内存中存活的时间。

方法的分类:

按返回值划分:

有返回值

无返回值

按參数划分:

有參数方法

无參数方法

void sum(int x,int y):參数定义之间,用逗号隔开。

sum(x,y);//调用也是用逗号隔开。

实參(实际的參数)

形參(形式參数)。

參数传递时,实參传给形參有两种方式:

A:假设传递是基本数据类型的话,那么仅仅是值的拷贝。

B:假设传递是对象类型的话,那么传递的是对象的地址。

按功能方法

构造方法

实例方法(对象方法,成员方法)

类方法

构造方法:

是实例化对象必须运行的操作。

用于构建一个新的对象的初始化操作。

假设没有构造方法的话,系统自己主动创建一个空的构造方法。

假设有构造方法的话,系统将不再构建。

注意点:

构造方法不是一个无參的构造方法

public Person(int id){

}

Person person = new Person();//错误

A:Person person = new Pserson(1);

B:再提供一个空的构造方法。

this:

表示当前对象。

this指向自己的引用

能够用this调用当前对象的属性与方法。

方法的重载(OverLoad)

方法重载即指同一个类内多个方法能够享有同样的名字。

可是这些方法的參数必须不同(參数个数不同或參数类型不同)。

调用的时候通过參数的个数或者的类型由编译器来寻找究竟要调用哪一个

方法。



类方法,对象方法,构造方法都能够做方法的重载。

当重载的參数假设有继承关系时。除非在程序中精确描写叙述要

传递的类型。否则调用的都是符合子类參数的方法。

Object obj = null;
String str = null; test.print(obj); //精确类型
test.print(str); //精确类型
test.print(null); //都匹配的类型,调用子类的方法。 public void print(Object some){
System.out.println("Object version print");
}
public void print(String some){
System.out.println("String version print");
}
/**
* 定义一个Student的类
*/
public class Student{
//属性声明的部分
int stu_id;
char stu_sex;
String stu_name; //类变量
static String class_id = "JN1001"; //有返回值的方法
int getScore(){
//定义局部变量
int english = 0;
return english;
}
int getScope2(){
double math = 12.345; return (int)math;
}
//无返回值的方法
void study(){
System.out.println("大家在学习Java");
} public static void main(String args[]){
Student stu = new Student();
stu.study(); int result = stu.getScore(); int result2 = stu.getScope2();
System.out.println("result = "+result + ",result2 = "+result2); } }
public class Student_Method{

	//构造方法
public Student_Method(){
System.out.println("对象的构造方法");
} //对象(成员)方法
int divde(int x,int y){
return x / y;
} //类方法
static int sum(int x,int y){
return x + y;
} public static void main(String args[]){
//调用类方法
Student_Method.sum(2,3); //调用成员方法
//Student_Method.divde(2,3); //不能调用
System.out.println("1111");
Student_Method test = new Student_Method();
System.out.println("222");
test.divde(3,4);
}
}
public class TestOverLoad{
public static void main(String[] args){
Test test = new Test();
//test.print(null);
Object obj = null;
String str = null;
StringBuffer strBuffer = null;
System.out.println(obj);
System.out.println(str);
test.print(obj);
test.print(str);
test.print(strBuffer);
test.print(null);
}
}
class Test{ public void print(Object some){
System.out.println("Object version print");
}
public void print(String some){
System.out.println("String version print");
}
public void print(StringBuffer some){
System.out.println("StringBuffer version print");
} }

J2SE基础:1.类和对象基础的更多相关文章

  1. MOOC C++笔记(二):类和对象基础

    第二周:类和对象基础 面向对象程序设计的四个基本特点 抽象.封装.继承.多态. 面向对象程序设计的过程 1.从客观事物抽象出类 抽象出的事物带有成员函数与成员变量(类似于带函数的结构体) 成员变量和成 ...

  2. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  3. JAVA 类和对象基础知识详解

    /*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 1978702969@qq.com*/ 和C++一样,JAVA也是一门面向对象的语言,其基础和核心是类和对象.而面向对象的思想是来源与显示生 ...

  4. java 类与对象基础整理

    之前学习javaSE的时候,没有针对性地对对类与对象的一些基础进行整理,下面这些内容是笔记内容整理后的,希望以后自己可以通过这些博客时常复习! 一.类and对象的基础 类似于类的生命啊,类与对象的关系 ...

  5. java类与对象基础篇

    java面向对象基础篇 面向对象程序设计(Object Oriented Proframming ,OOP) 面向对象的本质是:以类的方式组织代码,以对象的方式组织(封装)数据. 面向对象的核心思想是 ...

  6. ObjectiveC1基础代码——类和对象

    // //  main.m //  ObjectiveC1 // //  Created by scjy on 15/10/30. //  Copyright © 2015年 lizhipeng. A ...

  7. C++_基础_类和对象

    内容: (1)引用 (2)类型转换 (3)C++社区给C程序员的建议 (4)面向对象编程的概念 (5)类和对象 (6)构造函数 (7)初始化列表及其必要性 1.引用1.1 指针和引用的使用说明(1)指 ...

  8. java基础知识—类和对象

    1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成, ...

  9. PHP -- 类和对象基础入门

         本文目录:    创建简单类和对象 继承 抽象类 接口 构造方法 析构函数     1. 创建简单类    创建一个People的类,在这里有四个要点说明一下: 第一个是在PHP中,访问属性 ...

随机推荐

  1. javascript创建类的6种方式

    javascript创建类的7种方式 一 使用字面量创建 1.1 示例 var obj={}; 1.2 使用场景 比较适用于临时构建一个对象,且不关注该对象的类型,只用于临时封装一次数据,且不适合代码 ...

  2. 积累的VC编程小技巧之标题栏和菜单

    1.窗口最大最小化按纽的控制 ①怎样在程序开始的时候让它最大化? ②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能? ③如何在显示窗口时,使最大化按钮变灰?   ...

  3. MFC 在对话框显示图片的多种方法

      我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一 ...

  4. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据

    原文:[ASP.NET Web API教程]5.2 发送HTML表单数据:URL编码的表单数据 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内 ...

  5. [Android学习笔记]Android向下兼

    Android向下兼容的思路:使用高版本的API,在运行时判断真实运行平台的API版本,根据不同版本做不同的处理 关键类:Build.class里面定义了API版本相关信息 内部类:VERSION定义 ...

  6. ActiveX控件的安全初始化和脚本操作 和 数字签名SIGN

    摘要:数字签名SIGN保证控件在下载时候的安全性.如果你的代码已经经过数字签名,即使用户IE的安全设置很高也能下载,安装并登记.但是在页面上初始化,或者用脚本运行这个控件,为了保证安全性,还需要进行M ...

  7. Main Memory Object-Relational Database Management System

    Main Memory Object-Relational Database Management System FastDBMain Memory Relational Database Manag ...

  8. K-means clustering (K-means聚类)

    问题: K-所有值聚类是无监督学习算法 设数据集.当中,. 如果这个数据能够分为类. 把这个问题模型化: , 当中代表第类的聚点(中心点.均值). 该模型能够用EM算法进行训练: 初始化,. E步:固 ...

  9. Java原型模式之基础

    一.是什么? 定义:用原型实例指定创建对象的种类,而且通过拷贝这些原型创建新的对象.(官方定义) 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype. Prototype类须要 ...

  10. C# openfiledialog设置filter属性后达不到过滤效果的原因之一

    此处用RichTextBox控件举例>>> 在窗体对应的类中处理Load事件可以为openfiledialog设置Filter的属性: private void Form1_Load ...