1.类是某一批对象的抽象,对象才是一个具体的存在的实体,你我他都是人的实例,而不是人的类。
2.类可以包含三种最常见的成员:构造器,成员变量,方法
3.
4.java世界里,属性,如某个类具有age属性,通常是说,该类包含setAge()和getAge()两个方法。
5.修饰符中,public,protected,private三个最多只能出现其中之一,abstract和final只能出现其中之一。它们可以和static组合起来修饰方法。
6.static修饰的成员表示它属于这个类本身,而不是某个实例,static修饰的成员变量和方法也叫类变量,类方法,不使用的则为实例变量和实例方法。
7.构造器的修饰符(public,private,protected)可以省略,当时用new关键字来调用构造器时,构造器返回类的实例,可以把类的实例当成构造器的返回值,因此构造器的返回值总是当前类i。::
8.对象的作用:(1)访问对象的实例变量,(2)调用对象的方法
9.static修饰的方法和成员变量,既可以通过类来调用。也可以通过实例调用,没有使用static修饰的普通变量和成员方法,只能通过实例来调用。
10.类是一种引用数据类型,当把一个对象赋给一个引用变量时,java让引用变量指向这个对象,引用变量存放的仅仅是一个引用,本身只存储了一个地址值,它指向实际的对象。如 Person p = new Person();Person类型的变量实际上是一个引用,它被存放在栈内存中,指向实际的Person对象,真正的Person对象存放在堆内存中。对象的成员变量放在堆内存中,引用变量只是指向该堆内存的变量,java程序不允许直接访问堆内存中的对象,只能通过该对象的引用操作该对象,多个引用变量可以指向同一个对象。,就像C中指针,java语言把这个指针封装起来,避免开发者进行繁琐的指针操作。如果对内存中某对象没有任何变量指向它,那么程序就将无法在访问该对象,该对象就变成了垃圾,java的GC垃圾回收机制将回收该对象,释放该对象所占的内存区。若想让GC回收某个对象,只需切断该对象的所有引用变量即可,即将这些引用变量赋值为null。
11.this关键字总是指向调用该方法的对象,this作为对象的默认引用两种情形:(1)构造器中引用该构造器中正在初始化的对象(2)在方法中引用调用该方法的对象。 this关键字最大的作用就是让类中的一个方法,访问该类中的另一变量或者方法。

public class Dog{
public void jump(){
System.out.println();
} public void run(){
Dog d = new Dog();
d.jump(); //改成this.jump,也能直接写 jump()省略this前缀,java允许对象的一个成员直接调用另一个成员,即一个方法访问该类中定义的其他方法、成员变量时加不加this前缀都行。
System.out.println();
}
} public class DogTest{
public static void main(Strng[] args){
Dog dog = new Dog();
dog.run();
}
}


在run方法中调用jump方法需要一个Dog对象,没有使用static修饰的变量或者方法必须使用对象来调用。当程序调用run方法时,一定会提供一个Dog对象,通过this代表这个对象。
this可以代表任何对象,this出现在某个方法体中,它所代表的对象是不确定的,但是类型是确定的,代表的对象只能是当前类,只有当这个方法被调用时,他所代表的对象才能被确定下来,谁在调用这个方法,thish就代表谁。
static修饰的方法不能使用this,如果在static修饰的方法中使用this关键字,则该关键字不能指向合适的对象,故static修饰的成员不能访问没有static修饰的成员。

public calsss Test{
public void demo(){
System.out.println();
}
public static void main(String[] args){
demo();
}
}//报错:无法从静态上下文中引用非静态 方法demo()

 java方法的参数传递时值传递,将实参的的副本传给方法的形参,实参本身不会受到任何影响。要想传给实参值被改变,需要将实参的对象传递过去,这样就可以修改实例下的该实参变量,虽然也是值传递,但是对象变量是一个引用,就像传递指针一样。
public void swap(Person ps){
        ps.a=5
    }                                                                                                                                                                                     为方法指定数量不确定的形参。在最后哦一个形参的类型后增加3个点(...),就表示该形参可以接受多个参数值,形参个数可变的参数本质上市一个数组参数。
public static void test(int a, String...books)=====public static void test(int a, String[] books)

java类的回顾的更多相关文章

  1. java:类集回顾

    1.类集设置的主要目的:动态的对象数组 2.类集中有以下几个接口: Collection:是存放单值的最大父接口 |- List接口:里面的内容是允许重复的 |- ArrayList, Vector, ...

  2. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  3. Java类的加载、链接和初始化

    一.Java的类加载机制回顾与总结: 我们知道一个Java类要想运行,必须由jvm将其装载到内存中才能运行,装载的目的就是把Java字节代码转换成JVM中的java.lang.Class类的对象.这样 ...

  4. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  5. JAVA类和对象创建

    面向对象 学习目标: 理解面向对象的编程思想 理解类与对象的关系 如何创建类与对象 方法重载 一:什么是面向对象编程(OOP) 面向对象编程(Object Oriented Programming,O ...

  6. Java类的定义与类的实例化

    目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...

  7. Java类集框架详细汇总-底层分析

    前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...

  8. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  9. jvm系列(一):java类的加载机制

    java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...

随机推荐

  1. 一种快速统计SQL Server每个表行数的方法

    转载自:http://www.cnblogs.com/kenyang/archive/2013/04/09/3011447.html 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数 ...

  2. HTTP Client使用总结

    1.如果服务器使用HTTPS协议,使用HTTPClient的话,需要配以EasySSLProtocolSocketFactory 2.Tomcat对HTTP的Post和Get请求处理是不一样的.Spr ...

  3. PDB自动启动以及Oracle Pfile的参数修改示范

    1. Oracle12c 可以使用PDB的模式进行创建, 但是他一般不会自动启动,所以可以穿件一个触发器进行处理 创建语句 CREATE TRIGGER open_all_pdbs AFTER STA ...

  4. Jquery 组 checkbox双向控制与tr变色

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  5. PP学习笔记-业务基础

    生产主数据.生产计划.生产订单与生产执行 生产模块主要子模块及功能:PP-BD 基本数据管理 PP-SFC车间订单管理 PP-MRP物料需求计划 PP-MPS主生产计划 PP-CRP能力计划 PP-I ...

  6. mysql 数据表备份导出,恢复导入操作实践

    因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...

  7. python使用原始套接字 解析原始ip头数据

    使用底层套接字解码底层流量,是这次做的重点工作. 首先来捕获第一个包 # coding:utf-8import socket # 监听的主机IP host = "192.168.1.100& ...

  8. httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

    httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

  9. 读取excel思路

    1.输入地址 2.输入指定的sheet  通过sheet()[]方式指定 3.输入执行的单元位置 通过 .cell_value(x,y)方式指定 示例 data = xlrd.open_workboo ...

  10. codeforces387B

    George and Round CodeForces - 387B George decided to prepare a Codesecrof round, so he has prepared  ...