Java类和对象关系解析:创建类与实例化对象的完整指南
java总结1

一、类和对象的关系解析
类,即现实中的类型
对象,即现实中的实体
类拥有所有符合该类对象的特征,对象是通过类实例化而来
如何创建类呢?如何创建对象呢?又如何调用属性和方法呢? 首先是创建类。
类在创建前,要先总结获得该类的属性和方法,具体格式是:
修饰符 class 类名{
类名的取名需要符合规范,要做到见名知意,不能带有非法字符,也不能带有关键字。
2.创建对象
对象由类的构造方法,实例化而来
例如:有一个类Student,那么对象的实例过程:
public class Student{
String name;
公共静态的 void 主方法(字符串数组参数 args){
创建了一个对象,即 Student stu = new Student();
3.调用属性和方法
属性和方法有两种
被 static 修饰的方法是静态方法,被 static 修饰的属性是静态属性,也可以说是类属性、类方法
没有static 修饰的则为实例属性、实例方法
实例属性和方法不能引用静态属性和方法,但是反过来是可以的。
类和实例都可以通过"."符号来调用属性和方法
类名.属性名(或方法名)
以下是改写后的句子:语言风格保持原文风格,去掉最前面的序号,将长句拆分成多个小分句,分句越短越好,比如:String 张三 = Student.name;
当通过类和实例来访问类变量时,实际上所访问的是在计算机内存的同一个地址上的变量。
三、 构造方法与一般方法的区别 1.共同点
构造方法和一般方法得方法名都必须合乎取名规则
2.不同点
1)构造方法必须与类名一致,一般方法没有这个限制
2)构造方法不能有返回值,一般方法必须有返回值
如果类中未定义构造方法,那么就会自动生成一个构造方法。这个构造方法没有参数,并且没有方法体。
四、方法重载与重写的区别 1.方法重载:
方法重载指的是在同一个类当中,要保证方法名是相同的,并且方法的参数类型或者参数顺序存在不一样的情况。
2.方法重写:
方法重写是指,在继承的过程中,子类重写与父类同名的方法,
3.区别:
一个是在同一个类中,一个是在继承关系的子类中重写父类方法
五、解析面向对象的三大特征 1.封装
封装意味着,利用修饰符对类中的数据或方法进行封装处理。这样做的目的是只提供相应的方法以供访问,通过这种方式能够提升安全性。
2.继承
一个类 A 通过关键字 extends 去继承另一个类 B ,其中 A 被称作子类、基类,而 B 被称作父类、超类
例如:public class B{
String name;
public class A extends B{}
此时,类 A 具备了类 B 的所有属性与方法,并且能够通过关键字 super 来调用方法。
这里必须要讲一下继承过程中,代码的运行顺序。
在 A 中实例化一个对象时,代码的运行顺序通常是从最顶层开始,然后沿着继承关系一层一层向下进行。
如果子类重写了父类的方法,就会覆盖父类的方法,展现的是子类方法的特征。
3.多态
多态,多种状态
多态分为静态对态和动态多态
静态多态:在同一个类中,对于重载方法的使用,有多种状态
在继承的过程中,子类会重写父类的方法。在这种情况下,实例子类对象与父类对象会呈现出不同的状态。
JAVA中的类型转换有两种:自动类型转换、强制类型转换
自动类型转换是指子类可以自动转换为父类,例如:
例如:public class B{
String name;
void c(){
System.out.println(“类B的方法”);
public class A extends B{
void c(){
System.out.println(“类B的方法”);
公共静态 void 主函数(字符串数组 args){
B a = new B();
B a1 = new A();
A a2 = new A();
在上述例子里,a 的声明类型是 B,a1 的声明类型也是 B,所以 B 是它们在编译过程中的某种标识;a3 的声明类型是 A,所以 A 是它在编译过程中的某种标识。
如果a1调用了B中的方法那么编译过程会出错。
总结:一个对象在进行 new 操作时属于什么类型,其本质就为该类型。
可以自动向上转型,但是向下转型必须通过强制类型转型。
如 A a3 =(A) a1;