Java类和对象详解,以及相关知识点

面向对象的三大特征:

在面向对象定义之中,也规定了一些基本的特征:

封装 (Encapsulation): 指将对象的实现细节隐藏起来,然后通过公共的方法向外暴露该对象的功能
继承 (Inheritance): 面向对象实现软件复用的重要手段,当子类继承父类后,子类是一种特殊的父类,能直接或间接获得父类里的成员;
多态 (Polymorphism): 可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对象在运行时可能表现出不同的行为特征

对于面向对象的开发来讲也分为三个过程:

OOA(面向对象分析)

OOD(面向对象设计)

OOP(面向对象编程)

类与对象

一个类是对一类对象的描述,是构造对象的模板,对象是类的具体实例;

类如同建造大楼的设计图纸,对象(实例)就如同建造出的大楼,使用同一个设计图纸可以建造出很多大楼。

类(引用数据类型)是对具有共性事物的抽象描述,是具有共同操作功能(方法)和相同数据格式(属性)的对象的集合与抽象

类= 属性+ 方法(属性来源于类的状态,方法来源于类的动作)

类的定义:

类的修饰符 class 类名 extends 父类名 implements 接口名{
类体:属性和方法组成

}

类的修饰符有哪些?
类的修饰符分为:可访问控制符和非访问控制符两种。

不加修饰的时候,即直接声明 class A {}

在这种情况下,class前面没有加任何的访问修饰符,通常称为"默认访问模式",在该模式下,这个类只能被同一个package中的类访问或引用,这一访问特性又被称包访问性。

可访问控制符是:公共类修饰符public

(可被所有的其他类或其他包中的类访问和引用,程序的其他部分可以创建这个类的对象,访问这个类内部公共的(用可访问控制符public 定义的)变量和方法)


1.一个java 的源文件中,规定最多只能有一个public 类,当然也可以一个都没有。
2.如果有public公共类,则规定文件名只能public公共类的类名称一致,如果没有,则文件名随意;
3.作为一个java程序的入口的类必须为public类;

哪些类应定义为公共类呢?
1.Java程序的主类必须定义为public类;
2.作为公共工具供其他类和程序使用的类应定义为public类;

非访问控制符是:抽象类修饰符abstarct
凡是用修饰符abstract 修饰的类,被称为抽象类。接口是一个100% 的抽象类;
最终类修饰符:final
当一个类不可能有子类时(final类是不可以被继承的)可以用修饰符 final把它说明为最终类
被定义为 final类通常是一些有固定作用、用来完成某种标准功能的类。如Java系统定义好的用来实现网络功能的InetAddress、Socket等类都是 final类。

注意:修饰符abstract和修饰符final 不能同时修饰同一个类,

因为abstract类是没有具体对象的类,它必须有子类,即就是是用来被继承的;

而 final类是不可能有子类的类,所以用abstract和final修饰同一个类是无意义的。

对象的创建和使用

类名 实例名 = new <类名> (参数列表)

java 中所有new 出来的东西统一都会在heap中开辟空间存储

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以创建N个对象,成员变量只属于当前对象(只属于对象,不属于类)。
只有通过对象才可以访问成员变量,通过类不可以直接访问成员变量。

原文地址:https://www.cnblogs.com/ppp1314520818/p/10803315.html

时间: 2024-11-08 17:42:05

Java类和对象详解,以及相关知识点的相关文章

java类和对象详解

对象和类详解 什么是对象:万物皆对象,什么东西都是对象,例如,猫狗人 什么是类:类是同一事物的统称,它描述一类对象的行为和状态. 设计类:抽象过程 类的属性 类的方法 什么是实例化:由类得到对象这个过程叫做实例化 对象和类的区别:一个是抽象一个是具体,一个是集合一个是个体等等.一个是魔板一个是实例,一个是数据一个是数据结构等等. 如何设计类:public class student{}//把类的共同提出提取出来, 学生会有什么:名字,年龄,性别,等等,这就是共同特征. //共同特征为类的属性,共

Java中Class对象详解

java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成 instance都有多种方式.所以只有弄清其中的原理,才可以深入理解.首先要生成Class对象,然后再生成Instance.那Class对象的生 成方式有哪些呢,以及其中是如何秘密生成的呢? Class对象的生成方式如下: 1.Class.forName("类名字符串")  (注意:类名字符串必须是全称,包名+类名) 2.类名.class 3.实例对象.getClass() 通过一段小程序,来观察一下Cla

【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别

Class对象的生成方式如下: 1.类名.class           说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Class.forName("类名字符串")  (注:类名字符串是包名+类名)  说明:装入类,并做类的静态初始化,返回Class的对象 3.实例对象.getClass()  说明:对类进行静态初始化.非静态初始化:返回引用运行时真正所指的对象(因为:子对象的引用可能会赋给父对象的引用变量中)所

java中Class对象详解和类名.class, class.forName(), getClass()区别

Class对象的生成方式如下: 1.类名.class           说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Class.forName("类名字符串")  (注:类名字符串是包名+类名)  说明:装入类,并做类的静态初始化,返回Class的对象 3.实例对象.getClass()  说明:对类进行静态初始化.非静态初始化:返回引用运行时真正所指的对象(因为:子对象的引用可能会赋给父对象的引用变量中)所

类与对象详解

1.什么是类? 类是对一类事物的描述,在java中是最基本的组成单元.类中分为属性和行为. 1.1什么是属性 属性指是什么,在Java中指成员变量. 1.2 什么是行为? 行为指能干什么,在Java中指成员方法. 2.什么是对象? 就是一类事物的具体实现 3.案例: 学生类-->对学生群体的描述,不特指某个学生. 属性:姓名,年龄,性别,学号.... 行为:学习,睡觉,吃饭,喝水.... 学生对象:特指某个学生 4.如何使用一个类? 1.导包 2.创建对象 3.使用成员变量,成员方法 小贴士 只

php的类和对象详解

<?php 1. 类的简单格式: [修饰符] class 类名{ [成员属性] //成员属性,也叫成员变量 [成员方法] //成员方法:也叫成员函数 } 类的完整格式: [修饰符] class 类名 [extends 父类] [implements 接口1[,接口2...]]{ [成员属性] [成员方法] } 2. 成员属性格式: 修饰符 $变量名[=默认值] //[]表示可选 3. 成员方法格式: [修饰符] function 方法名(参数){ [方法体] [return 返回值] } 4.

java对象详解

java对象详解 内存布局 普通对象布局 数组的内存布局 内部类的内存布局 对象分解 对象头-mark word(8字节) 实例数据 对齐填充(可选) java锁分析 java对象详解 HotSpot虚拟机中,对象在内存中存储的布局可以分为对象头,实例数据,对齐填充三个区域.本文所说环境均为HotSpot虚拟机.即输入java -version返回的虚拟机版本: java version "1.8.0_111" Java(TM) SE Runtime Environment (buil

Java虚拟机工作原理详解

原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plaincopy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码

夯实JAVA基本之一 —— 泛型详解(1)

前言:无论何时,相信自己. 相关文章: 1.<夯实JAVA基本之一 -- 泛型详解(1)>2.<夯实JAVA基本之一 -- 泛型详解(2)> 一.引入 1.泛型是什么 首先告诉大家ArrayList就是泛型.那ArrayList能完成哪些想不到的功能呢?先看看下面这段代码: ArrayList<String> strList = new ArrayList<String>(); ArrayList<Integer> intList = new A