java基础

 

1.java中变量和对象的区别?

变量只是分配了栈内存,并没有分配内存空间,而对象是已经在内存中占用了空间的。

变量声明之后如果没有进行赋值,是不能在代码中使用的。而对象是可以在代码使用,并使用它的成员变量或者方法。

 

2.多态

 

一个对象具备多种形态(父类的引用类型变量指向了子类的对象 或者 接口的引用类型变量指向了接口实现类的对象)

多态的前提:必须存在继承或者继承的关系
多态要注意的细节:
1.多态情况下,子父类存在同名的(静态和非静态)成员变量时,访问的是父类的成员变量
2.多态情况下,子父类存在同名的非静态成员函数时,访问的是子类的成员函数
3.多态情况下,子父类存在同名的静态成员函数时,访问的是父类的成员函数
4.多态情况下,不能访问子类特有的成员(成员变量和成员方法)

总结:多态情况下,子父类存在同名的成员时,访问的都是父类的成员,除了在同名的非静态函数时才是访问子类的

 

多态(polymorphic)指的是一种概念,多种形态。在面向对象的编程中,函数重载、继承/方法重写、泛型、运算符重载等等都体现了多态。
在函数重载中,一个概念——相同的函数名,做相同的事情;多种形态,不同的函数参数列表,不同的调用方式
函数重写,一个概念——派生类继承了基类的方法,每个派生类的函数名函数原型都是相同的,不同形态——同时又有完全不同的函数的实现,通过基类调用派生类重写的函数不需要了解每个派生类实现的不同
泛型,一个概念——定义相同的算法和数据结构,不同的形态——具体为每一种类型有自己的类型,对于C++语言,这是编译器自动生成的
运算符重载,一个概念——无论计算集合、矩阵、浮点数、整数、虚数、逻辑代数等等,都用相同的表达式,不同的形态——每种计算的实质是不同的,比如矩阵的加法和自然数的加法完全不同。
多态解决的问题就是简化调用别人编写的代码的难度,因为概念相同但是具体实现不同的代码,被装进相同的概念,而屏蔽掉底层的复杂性了。对于相同的问题,降低复杂度,那么对于程序员来说,他可以更容易编写规模更大的软件。

 

抽象类:
1)由abstract修饰
2)包含抽象方法的类必须是抽象类
3)抽象类不能被实例化
4)抽象类是需要被继承的,子类:也要声明为抽象类---不常用
重写所有抽象方法----常用
抽象类的意义:
5.1)封装子类共有的属性和行为-----代码复用
5.2)为所有子类提供一种统一的类型-----向上造型
5.3)可以包含抽象方法,为所有子类提供统一的入口
所有子类的实现不同,但入口是一致的

接口:
1)是一个标准、规范-----制定方
遵守了这个标准就能干某件事--------API
2)是一种数据类型
3)由interface定义
只能包含常量和抽象方法
4)接口不能被实例化
5)接口是需要被实现的/继承的 implements,实现类/子类:
必须重写接口中的所有方法
6)一个类可以实现多个接口用“,”隔开,
若又继承有实现是,一定是先继承后实现
7)接口可以继承接口
前段时间的学习笔记,对你理解这个问题应该有所帮助

枚举:

枚举可以认为是固定实例个数的java类,枚举只能够在内部定义好实例,构造方法私有化,外部只能通过不同的实例获取枚举的属性,可以通过在类的构造方法中传入枚举类创建类的实例.

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值