Java笔记 —— 类与对象

0x00 前言

对java进行基础的学习。此博客针对个人复习以及笔记。

0x01 知识点

1.面对对象的特点:

1.封装性:内部的操作对外部而言不可见;
2.继承性:在上一辈基础上继续发展;
3.多态性:这是一个最为重要的环节,利用多态性才可以得到良好的设计;

2.面对对象的三个阶段:

1.OOA 面向对象分析 Object-Oriented Analysis
2.OOD 面对对象设计 Object-Oriented Design
3.OOP 面向对象编程 Object Oriented Programming

3.面对对象最大的特征

可以进行生活的抽象。

4.类是什么数据类型

类是引用数据类型,所以类的使用上会牵扯到内存的分配问题。

5.什么是引用类型

引用类型就是除了基本类型之外的所有类型。所有的类型在内存中都会分配一定的存储空间,基本的数据类型只有一块存储空间,引用类型有两块。
Java笔记 —— 类与对象_第1张图片

https://www.cnblogs.com/SilentCode/p/4858790.html

5.类和对象的区别

类指的就是一个共性的概念。
对象指的是一个具体的可以使用的事物。

6.类的组成

方法:操作的行为。
属性:描述每一个对象的具体特点

7.类如何定义

语法

class 名称 {
//所有的程序都以{}作为分解符

    属性;
    属性;
    方法(){
    }//这里的方法不再是由主类进行调用而是由对象进行调用。
}

举个栗子

class Person()
{
    String name;
    int age;
    public void info()
    {
        System.out.println("name="+name+"、age="+age);
    }
}

ps

类中的可以定义的属性个数和方法数量是没有限制的。

编写的时候,每一个代码不能太长。

8.类可以直接使用吗

不可以,类要使用,必须得通过对象使用。

9.实例化对象的方法

方法一 声明并实例化对象

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

方法二 分步进行对象

声明对象:类对象 对象名称=null;
实例花对象:对象名称=new 类对象();

ps:

new出现,开辟空间。

内存不能无限开辟。

性能调优:调整的就是内存问题。

举个栗子:

class Person()
{
    String name;
    int age;
    public void info()
    {
        System.out.println("name="+name+"、age="+age);
    }
}
public class TestDemo{
    public static void main(String [] args)
    {
        Person per=new Person();//声明并实例化对象
    }
}

10.如何使用对象

属性:对象名称.属性名=内容;
方法:对象名称.方法名()

举个栗子

class Person()
{
    String name;
    int age;
    public void info()
    {
        System.out.println("name="+name+"、age="+age);
    }
}
public class TestDemo{
    public static void main(String [] args)
    {
        Person per=new Person();//声明并实例化对象
        per.name="猪猪";//使用属性
        per.info();//使用方法
    }
}

11.引用类型详解

堆内存空间:保存真正的数据;
栈内存空间:保存的堆内存的地址;

12.NullPointerException

引用类型没有实例化。

只有引用类型才会产生此异常。

13.引用传递的本质

本质在于别名,放在了栈内存之中,一块堆内存可以被多个栈内存所指向。

14.引用传递简单实例

package jichu;

class Person{
    String name;
    void info()
    {
        System.out.println("这里是方法"+name);
    }
}

public class Demo {
    public static void main(String[] args) {
        Person p1=new Person();
        p1.name="猪猪";
        p1.info();
        Person p2=p1;
        p2.name="老婆";
        p1.info();
    }
}

Java笔记 —— 类与对象_第2张图片

在这里的r1和r2指向的是同一个堆内存的地址。只是在栈内存中不一样。类似于c语言中的指针概念。

15.垃圾内存产生原因

没有任何栈内存指向的堆内存。

16.垃圾内存如何处理

垃圾空间将会被GC(Garbage Collector)垃圾回收器进行回收。

17.GC的缺点

GC会影响会导致程序性能的下架,开发过程中一定要控制好无用对象的产生,尽可能的少产生。

你可能感兴趣的:(Android逆向-操刀天下)