Java学习笔记(七)——对象

一、类与对象

1、类的定义

类就是模型,确定对象将会拥有的特征(属性)和行为(方法)。

2、类的特点

(1)类是对象的类型

(2)具有相同属性和方法的一组对象的集合。

3、对象的属性:

对象具有的各种特征。

4、对象的方法:

对象执行的操作(能干什么)。

5、类和对象的关系

类是抽象的概念,仅仅是模板。而对象是一个具体实体。

二、定义Java中的类

1、重要性:所有的Java程序都以类class为组织单元。

2、类的组成:属性和方法。

3、定义类的步骤:

(1)定义类名。

public class 类名{}

(2)编写类的属性:

public class 类名{
{
   属性1的类型  属性1
   属性2的类型  属性2
  ………………
}

(3)编写方法

public class 类名{
{
   属性1的类型  属性1
   属性2的类型  属性2
  ………………
  方法1
  方法2
}

4、一个demo

package com.cnblogs;

public class Telphone
{
    //属性(成员方法)
    float screen;
    float cpu;
    float mem;
    //方法
    void call()
    {
        System.out.println("Call");
    }

    void sendMessage()
    {
        System.out.println("Message");
    }
}

三、使用Java对象

1、使用对象的步骤:

(1)创建对象:

类名 对象名 = new 类名();

(2)使用对象:

2、一个demo

(1)编写上述类,将sendMessage方法改变:

void sendMessage()
{
     System.out.println("screen:" + screen + "cpu:" + cpu + "mem:" + mem + "Message");
}

(2)创建一个类

(3)编写代码:

package com.cnblogs;

public class Telphone
{
    //属性(成员方法)
    double screen;
    double cpu;
    double mem;
    //方法
    void call()
    {
        System.out.println("Call");
    }

    void sendMessage()
    {
        System.out.println("screen:" + screen + "cpu:" + cpu + "mem:" + mem + "Message");
    }

}

说明一开始初始化对象之后,对象的属性都是0。

四、类的成员变量和局部变量

1、成员变量和局部变量:

(1)成员变量:

在类中定义,用来描述对象的属性

(2)局部变量:

在类的方法中定义,用来临时保存数据。

2、主要区别

(1)作用域不同:局部变量的作用于仅限于方法内,成员变量作用域在整个类中可用。

(2)初始值不同:成员变量会赋初始值,而局部变量却不会。

(3)局部变量和成员变量重名:优先考虑局部变量

五、构造方法

1、使用new+构造方法,创建一个新的对象

2、构造方法是定义在java类中的一个用来初始化对象的方法, 构造方法与类同名且没有返回值。

3、无参数构造方法使用:

package com.cnblogs;

public class InitTelphone {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Telphone phone =  new Telphone();

    }

}
package com.cnblogs;

public class Telphone
{
    public Telphone()
    {
        System.out.println("构造函数执行");
    }

}

4、有参构造方法使用:

package com.cnblogs;

public class Telphone
{
    double screen;
    double cpu;
    double mem;

    public Telphone()
    {
        System.out.println("构造函数执行");
    }

    public Telphone(float nscreen,float ncpu , float nmem)
    {
        screen = nscreen;
        cpu = ncpu;
        mem = nmem;
        System.out.println("创建有参构造函数,可以赋初值");
    }
}
package com.cnblogs;

public class InitTelphone {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Telphone phone =  new Telphone(5,2,2);

    }

}

5、没有指定构造方法,系统自动添加无参数构造方法

6、如果指定了构造方法,无论有参或者无惨,系统不会自动生成一个无惨构造方法。

7、构造函数也可重载

8、主要是为了对象初始化,给一个对象合理值。

六、Java中的static变量

1、定义:

Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问。

2、说明:

静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!~~

七、Java 中的 static 使用之静态方法

1、说明

与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。

2、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

3、在普通成员方法中,则可以直接访问同类的非静态变量和静态变量

4、静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法

八、Java 中的 static 使用之静态初始化块

1、Java 中可以通过初始化块进行数据赋值

2、在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。

如果使用 static 修饰初始化块,就称为静态初始化块。

需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量

3、程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。静态初始化块只在类加载时执行一次。

时间: 2024-10-21 06:39:36

Java学习笔记(七)——对象的相关文章

Java学习笔记七——数组工具类Arrays

数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> asList(T... a) 作用:将指定数组或数组元素,转换成固定大小的List. 用法: String[] strArr = { "aaa", "bbb", "vvv" }; //用法1:参数是数组引用 List<String> li

Java学习笔记----面对对象

最近开始着手整理自己学习的东西,把面向对象整理出来 什么是面向对象? 起初,"面向对象"是专指在程序设计中采用封装.继承.多态等设计方法. 面向对象的思想已经涉及到软件开发的各个方面.如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design).以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming). 什么是多态? 在面向对象语言中,接口的多种不同的实

Java学习笔记七(文件夹操作)

1.介绍 上一篇博客介绍的是java中常用的操作文件的方式,本篇博客着重讲解一下,在Java中是如何来操作文件夹的.主要是利用的是Java.IO包下面的File类,本篇博客着重讲解一下该类的构造函数和常用的方法. 2.File类的字段摘要 File类为我们提供了与系统有关的路径分割符,字段分别如下 static String pathSeparator:返回值为字符串,结果表示分号; static char pathSeparatorChar:返回值为char类型,结果表示分号 static c

Java学习笔记七(目录操作)

1.介绍 上一篇博客介绍的是java中经常使用的操作文件的方式,本篇博客着重解说一下,在Java中是怎样来操作目录的.主要是利用的是Java.IO包以下的File类,本篇博客着重解说一下该类的构造函数和经常使用的方法. 2.File类的字段摘要 File类为我们提供了与系统有关的路径切割符,字段分别例如以下 static String pathSeparator:返回值为字符串,结果表示分号; static char pathSeparatorChar:返回值为char类型,结果表示分号 sta

黑马程序员——JAVA学习笔记七(String类)

1,    String类一旦被初始化就不会被改变. 字符串不不能被改变,编译可以让字符串之间共享.编译器将各种字符串存放在公共的存储池子中.字符串变量指向存储池中相应的位置.实际上只有字符串常量.而+(除了常量相加)和其它方法操作的不是共享的. String s1 ="abc" ,String s2 = "abc" (他们存在公共池中),String s3 = new String ("abc"),存在堆中; 则s1== s2; s1! = s

[Java学习笔记]对象克隆

对象克隆: 浅克隆: 被克隆的对象中的值类型数据被复制一份新值,但是引用的对象只被复制其引用传递给新克隆出来的对象 深克隆: 被克隆的对象中的值类型数据被复制一份新值,并且其中引用的对象会重新创建新的对象,把新对象的引用传递给新克隆出来的对象 Java中实现克隆: Java中Object中定义了clone方法,默认为浅克隆操作,即你只是简单super.clone得到的结果是浅克隆的结果,如果需要深克隆,则需要实现Cloneable接口,并且重写clone方法 查看Java源代码发现Object中

Java学习笔记一:对象与存储

1.用引用来操作对象 Java是面向对象的编程语言,一切都能看作是对象,通过引用来完成对对象的操作. // String 是对象,而s对指向这个String对象的引用 String s; 注意:我们是通过对象的引用来操纵对象数据的,如果对象没有关联数据(如没有被初始化),则会出现空引用,报空指针异常:java.lang.NullPointerException 2.数据存储 (1)寄存器:位于CPU内部,是处理最快的区域,但是存储空间有限.Java不能通过程序直接控制. (2)堆栈:位于RAM(

java学习笔记 第二篇 核心技术(二)

第十四章 集合类 集合类用来存放对象的引用.继承关系如下图: 14.1 Collection 接口 是层次结构中的根接口,构成Collection的单位称为元素.Collection接口不能直接使用,但该接口提供了添加元素.删除元素.管理数据的方法. Collection接口常用方法: 14.2 List 集合 包括List接口以及List集合的所有实现类.List集合中的元素允许重复,各元素循序就是对象插入的顺序 1.List接口,两个重要方法: get(int index): 获取指定索引位

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载