java面向对象基础_final详细介绍
final:
继承的弊端:打破了代码的封装性,final的出现正好弥补了这一弊端
final关键字:
1-final是一个修饰符,可以修饰类,方法,变量;
2-final修饰的类不能被继承
3-final修饰的方法不可以被覆盖
4-final修饰的变量是一个常数,只能被赋值一次并且要在定义时就将其赋予某值
规则:
被定义final的常量要用大写字母表示,各单词之间用下划线_来隔开.
实例一:
class Father01{
final String FATHER01_NAME = "张三";
final int FATHER01_AGE = 20;
final void show(){
// age=9; //错误!!!age被定义为final,定义时已经被赋值,不能再被赋值
System.out.println("姓名: " + FATHER01_NAME);
}
}
final class Father02{
}
class Son01 extends Father01{
// public void show() { //错误!!!被final定义的方法不能被覆盖
//
// }
}
//class Son02 extends Father02{ //错误!!!被final定义的类不能被继承
//
//}
相关推荐
-
Java面向对象编程中final关键字的使用方法详解
在Java中通过final关键字来声明对象具有不变性(immutable),这里的对象包括变量,方法,类,与C++中的const关键字效果类似. immutable指对象在创建之后,状态无法被改变 可以从三个角度考虑使用final关键字: 代码本身:不希望final描述的对象所表现的含义被改变 安全:final对象具有只读属性,是线程安全的 效率:无法修改final对象本身,对其引用的操作更为高效 final 变量 定义final Object a,则a只能被初始化一次,一旦初始化,a的数据无法
-
详解Java面向对象编程中方法的使用
一个 Java 方法是为了执行某个操作的一些语句的组合.举个例子来说,当你调用 System.out.println 方法时,系统实际上会执行很多语句才能在控制台上输出信息. 现在你将学习怎么创建你自己的方法,他们可以有返回值也可以没有返回值,可以有参数,也可以没有参数,重载方法要使用相同的方法名称,并在程序设计中利用抽象的方法. 创建方法 我们用下面的例子来解释方法的语法: public static int funcName(int a, int b) { // body } 在这里 pub
-
java 面向对象面试集锦
java 面向对象:这里整理了面向对象的基础知识,帮助大家学习理解,希望能帮助到大家,这里是 根据公司面试资料整理的相关知识: Overload和Override的区别.Overloaded的方法是否可以改变返回值的类型? Overload是重载的意思,Override是覆盖的意思,也就是重写.重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子
-
Java语言面向对象编程思想之类与对象实例详解
在初学者学Java的时候,面向对象很难让人搞懂,那么今天小编就来为大家把这个思想来为大家用极为简单的方法理解吧. 首先我们来简单的阐述面向对象的思想. 面向对象: 官方的语言很抽象,我们把官方的解释和定义抛开.想想,自己有什么,对!!我们自己有手脚眼口鼻等一系列的器官.来把自己所具有的器官就可以看作我们的属性,自己是不是可以喜怒哀乐和嬉笑怒骂,这些是不是我们的行为,那么自己的具有的属性加自己有的行为就称为一个对象. 注意!!我们自己,一个个体是一个对象,因为,你是你,我是我,我们虽然有相同的,但
-
Java基础教程之Hello World到面向对象
Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现"跨平台"的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个HelloWorld.java程序.这个程序在屏幕上打印出一串字符"Hello World!": 复制代码 代码如下: public class HelloWorld { public static void main(String[] args) {
-
全方位讲解Java的面向对象编程思想
什么是面向对象? Object 对象,Oriendted 以-为导向的, Programming 程序设计 面向对象就是使用对象进行程序设计,简写成OOP. SP和OOP对比 面向对象的三大原则 封装 继承 多态 对象 对象是面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为: 对象其实就是"数据"和"函数"的封装体,其中: 数据表示自身的状态,也称作"属性"或"成员数据": 函数表示自身的
-
java面向对象基础_final详细介绍
final: 继承的弊端:打破了代码的封装性,final的出现正好弥补了这一弊端 final关键字: 1-final是一个修饰符,可以修饰类,方法,变量; 2-final修饰的类不能被继承 3-final修饰的方法不可以被覆盖 4-final修饰的变量是一个常数,只能被赋值一次并且要在定义时就将其赋予某值 规则: 被定义final的常量要用大写字母表示,各单词之间用下划线_来隔开. 实例一: class Father01{ final String FATHER01_NAME = "张三&quo
-
Kotlin 基础语法详细介绍
Kotlin 基础语法详细介绍 基础语法 定义包名 包名的定义应当在源文件的头部 package my.demo import java.util.* // ... 文件路径和包名并不要求匹配,源文件可以被放置在文件系统任意位置 参考:包 定义函数 函数有两个Int类型参数和Int类型返回值: fun sum(a: Int, b: Int): Int { return a + b } 函数体中只有一个表达式并且作为函数的返回值: fun sum(a: Int, b: Int) = a + b 函
-
Java面向对象基础之多态性,抽象类和接口
一.多态性 多态是指一个对象可以拥有多种不同的形态,继承是实现多态的基础. 1.1 引用多态和方法多态 引用多态:父类引用可以指向本类的对象,也可以指向子类的对象 方法多态: 1.创建本类对象时,调用的方法为本类方法: 2.创建子类对象时,调用的方法为子类重写或继承的方法. 首先建立父类Animal,包含一个eat()方法,如下代码所示: public class Animal { public void eat(){ System.out.println("动物可以吃东西"); }
-
Java面向对象基础,类,变量,方法
一.面向对象的4个基本特征 抽象性.封装性.继承性和多态性. 抽象性分为过程抽象和数据抽象. 封装性 封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件.外部无法直接访问封装的数据,从而保证了这些数据的正确性. 如果外部需要访问类里面的数据,就必须通过接口.接口规定了可对一个特定的对象发出哪些请求. 继承性 继承是一种联结的层次模型,并允许和鼓励类的重用,它提供给了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始
-
Java DefaultListableBeanFactory接口超详细介绍
目录 前言 AliasRegistry SimpleAliasRegistry SingletonBeanRegistry DefaultSingletonBeanRegistry FactoryBeanRegistrySupport AbstractBeanFactory AbstractAutowireCapableBeanFactory BeanDefinitionRegistry ConfigurableListableBeanFactory 前言 本文,对bean工厂的接口做分析梳理具
-
java并发之ArrayBlockingQueue详细介绍
java并发之ArrayBlockingQueue详细介绍 ArrayBlockingQueue是常用的线程集合,在线程池中也常常被当做任务队列来使用.使用频率特别高.他是维护的是一个循环队列(基于数组实现),循环结构在数据结构中比较常见,但是在源码实现中还是比较少见的. 线程安全的实现 线程安全队列,基本是离不开锁的.ArrayBlockingQueue使用的是ReentrantLock,配合两种Condition,实现了集合的线程安全操作.这里稍微说一个好习惯,下面是成员变量的声明. pri
-
java数据类型与二进制详细介绍
java数据类型与二进制详细介绍 在java中 Int 类型的变量占 4个字节 Long 类型的变量占8个字节 一个程序就是一个世界,变量是这个程序的基本单位. Java基本数据类型 1. 整数类型 2. 小数(浮点数)类型 3. 布尔类型 4. 字符类型 整数类型 整数类型可以表示一个整数,常用的整数类型有:byte,short,int,long Byte 一个字节 -128到127 注:0有两个表示0000 0000正零 1000
-
Java类加载基本过程详细介绍
Java类加载基本过程详细介绍 基本过程: 根据类的全限定名称加载定义类的二进制字节流. 将字节流代表的静态存储结构转化为方法区的运行时数据结构 内存中生成一个代表这个类的java.lang.Class对象,作为方法去这个类的各种数据访问入口 数组类本身不通过类加载器创建,由java虚拟机直接创建,数组类的元素类型由类加载器加载. 数组类的元素类型:数组去掉所有维度后的类型, 文件格式验证: 0xCAFEBABY 魔数开头: 主次版本号当前虚拟机可处理: 常量类型: 索引执行类型: utf8编码
-
Java多线程的用法详细介绍
Java多线程的用法详细介绍 最全面的Java多线程用法解析,如果你对Java的多线程机制并没有深入的研究,那么本文可以帮助你更透彻地理解Java多线程的原理以及使用方法. 1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例.Thread构造函数: public Thread( ); publi
-
Java中ArrayList类详细介绍
Java中ArrayList类详细介绍 ArrayList是一个可变长度数组,它实现了List接口,因此它也可以包含重复元素和Null元素,也可以任意的访问和修改元素,随着向 ArrayList 中不断添加元素,其容量也自动增长.不过ArrayList是非同步(同步的意思是如果多个线程同时访问一个实例,任何一个线程对实例做了修改之后,其他线程所访问到的实例应该是修改过的最新的实例)的, 我们经常使用List list = Collections.synchronizedList(new Arra
随机推荐
- ASP.NET中利用Segments取得URL的文件名的一种方法分享
- Vue 2中ref属性的使用方法及注意事项
- java单例模式学习示例
- JavaScript模仿Pinterest实现图片预加载功能
- Windows下的PHP5.0安装配制详解
- MySQL中select语句介绍及使用示例
- Android常用对话框使用大全
- 字符不会撑大表格的常见css样式
- 基于jQuery实现音乐播放试听列表
- JavaScript禁止页面操作的示例代码
- 没去过上海,不知道上海是这样的 上海,今夜请将我埋藏第1/3页
- shell脚本实现的网站日志分析统计(可以统计9种数据)
- Node.js环境在linux上的部署教程
- Android编程设置提醒事件的方法
- 解析jQueryEasyUI的使用
- js 操作select相关方法函数
- php 验证码实例代码
- 写了10年的Javascript也未必全了解的连续赋值运算
- php对外发包引发服务器崩溃的终极解决方法分享[推荐]
- c#委托把方法当成参数(实例讲解)