类是对象的抽象 
对象是类的一个实例
类 对象 = new 类();
拿对象可以操作这个类里的方法

java类与对象的区别是个老生常谈的问题,刚开始学java的时候就开始接触类和对象,今天来总结一下他们之间的区别。

首先讲讲class和object的区别,其实就是一句话:object是所有class的父类,所有class类都默认继承object。

java中类是对一类“事物”的属性和行为一种抽象,比如人类就可以定义为一个Person类:

public class Person {
public int age;//年龄
public String name;//姓名
public int hight;//身高
public int weight;//体重
public Person(){
}
public Person(int age,String name,int hight,int weight){
this.age = age;
this.name = name;
this.hight = hight;
this.weight = weight;
}
public void doSth(){
//doSomething
}
}
        对象是类的实例化,也就是一个具体的个体,比如“摩罗”我就是Person类的一个具体的对象,我有自己具体的年龄姓名身高体重。

简单来说类和对象的区别如下:

  1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
  2,对象是类的一个具体。它是一个实实在在存在的东西。
  3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
  4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变

最后再来看看类和对象调用方法上的区别:

public class classAndObject {
//静态方法
public static void staticTest (){
System.out.println("这是静态方法!");
}
//动态方法
public void dynamicTest() {
System.out.println("这是动态方法!");
}
public static void main(String[] args) {
classAndObject.staticTest();//正确
classAndObject t = new classAndObject();
t.dynamicTest();//非静态方法必须使用“对象.方法”,因为它在对象创建前不存在,必须依赖对象的创建才能使用。
t.staticTest(); //此处显示警告:The static method staticTest() from the type classAndObject should be accessed in a static way
//静态方法在对象创建前就已经存在了,它的使用不依赖对象的创建,可以直接使用“类.静态方法”

java类和对象的更多相关文章

  1. Java类和对象初始化

    类的生命周期: Java类的初始化: 本阶段负责为类变量赋正确的初始值.(类变量即静态变量) Java编译器把所有的类变量初始化语句和静态初始化器通通收集到<clinit>方法中,该方法只 ...

  2. java类和对象之间的差

    java类和对象之间的差别是一个普遍的问题,刚开始学习java当它来到与类和对象接触.今天就来总结一下它们之间的差异. 先说说class和object差异.事实上,词:object是全部class的父 ...

  3. 危险代码:如何使用Unsafe操作内存中的Java类和对象

    危险代码:如何使用Unsafe操作内存中的Java类和对象—Part1 危险代码:如何使用Unsafe操作内存中的Java类和对象—Part2 危险代码:如何使用Unsafe操作内存中的Java类和对 ...

  4. [Java初探08]__简单学习Java类和对象

    前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...

  5. 解析Java类和对象的初始化过程

    类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...

  6. JAVA类和对象课后作业

    1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?" 代码: //显示类 //YiMingLai 2 ...

  7. Java类与对象的基础学习

    1. 请输入并运行以下代码,得到什么结果? public class Test{ public static void main(String args[]){ Foo obj1=new Foo(); ...

  8. JAVA类与对象作业——动手动脑以及课后实验性问题

    一: 1.源代码 //MAO2015.10.6 //foo class Foo { int value; public Foo(int initValue) { value = initValue; ...

  9. JAVA类与对象(九)------多态

    多态是同一个行为具有多个不同表现形式或形态的能力.多态性是对象多种表现形式的体现. 多态存在的三个必要条件: 继承 重写 父类引用指向子类对象 例:Parent p = new Child(); 当使 ...

随机推荐

  1. 实现后门程序以及相应的rootkits,实现对后门程序的隐藏

    iptables的一些命令: a.    a) 使用规则实现外网不能访问本机,但是本机主动发起的连接正常进行. sudo iptables –A INPUT -p tcp —tcp —syn -j D ...

  2. 奇技淫巧之 unordered_map

    哇,虽然我不知道到为什么这个东西比map快(快了一倍),注意unordered_map要在c++11以上的编译环境下才能用,如c++11,GNU G++11 5.1.0,GNU G++14 .

  3. java学习(四)修饰符、运算符、循环结构、分支结构

    修饰符 一般是放在定义类,方法,变量的最前端 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N ...

  4. 浅谈ajax同步、异步的问题

    最近实习的时候看到过firefox的同步.异步的警告,想着概念不是那么清楚,于是整理了一下ajax同步异步方面的知识.我是小白,做个笔记. 首先就是概念问题,ajax根据async进行区分同步和异步过 ...

  5. 企业上云这四大要点,你 get 了吗?

    本文由 Platform9(一家专注于云计算.专有云.混合云.OpenStack 以及容器技术的北美初创公司)技术产品营销经理 Akshai Parthasarathy 撰写,描述了企业在向云基础设施 ...

  6. Tree - Information Theory

    This will be a series of post about Tree model and relevant ensemble method, including but not limit ...

  7. [T-ARA/超新星][TTL (Time To Love)]

    歌词来源:http://music.163.com/#/song?id=5403002 作曲 : 金道勋 [作曲 : 金道勋] 作词 : Rhymer/Joosuc/황성진 [作词 : Rhymer/ ...

  8. printf命令详解

    基础命令学习目录首页 本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中 ...

  9. yum安装lnmp

    python其他知识目录 1.安装LNMP之前要安装EPEL,以便安装源以外的软件,如Nginx,phpMyAdmin等. yum install epel-release 提示:EPEL,即Extr ...

  10. java.util.ConcurrentModificationException: null

    是因为在map.foreach中又put新的值了 在map.foreach中可能是不可以增删改