栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中的继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中的继承

继承

 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

继承是 is-a 的相互关系 继承的优点

 1.将所有子类的共同属性放入父类,实现代码共享,避免重复,提高开发效率

 2.可以使得修改扩展继承而来的实现比较简单 继承的缺陷  1.父类变,子类就必须变  2.继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的  3.继承是一种强耦合关系 特殊关键字 包 package 包是类或接口的容器,是一个用于避免命名冲突的名空间,是一个逻辑命名的概念,与具体的物理位置无关 在具体的实现中,包名称经常和目录名称对应 什么是包 包是类的组织方式,提供名空间和访问控制 类似于文件系统的组织 声明包中的类 package 语法: package 包名称 ;         声明包要求是源代码文件的第一个语句。包定义之前可以添加注释信息         程序中最多只能有一条package 语句,没有包定义的源代码文件成为默认包中的一部分
// 默认包中的类可以访问其它命名包或者只能同包访问,其它包不能访问默认包中的类 public class A1 {         public void cc () {                 System . out . println ( " 小胖子醒醒 !" );         } }

 程序中如果有package语句,该语句必须是第一条语句(前面只能有注释或空行)

包的作用 包能将相关的源代码文件组织在一起 com.lb.dao 其中存放操作数据库相关的类文件 com.lb.biz 存放相关的业务类文件 包减少了名称冲突带来的问题 可以使用 package 指明源文件中的类属于哪个具体的包 包的使用 如果其他人想使用包中类,则需要使用全名

 

import java . util . Date ; public class A {         public static void main ( String [] args ){                 Date now = new Date (); // 使用类的简称 Date ,而不是全名称 java.util.Date         } } // 用法 2 :全称 java . util . Date now = new java . util . Date (); // 不需要 import

 为了简化书写,Java提供了import语句: import package_name.*;

 import java.util.*;

// 使用 java.util 包中的所有类都不需要再使用 import java.util. 类名

 引入包中的某一个类:import java.util.ArrayList;

 引入包import

Java缺省引入的包为java.lang

System . out . println ( " 显示输出 " ); // 不需要 import java.lang.System // 同包中的其它类不需要导入 package com .lb ; public class A {} package com .lb ; public class B {         public void pp (){                 A a = new A1 (); // 不需要 import com.yan.A         } }

 引入包中的类: import 包名称.类名称;例如import java.util.Date;

 引入整个包; import 包名称.* ;例如 import java.util.* ;

 不引入包而是用类,则需要是用类的全名: 包名 . 类名 , 例如 java.util.Date dd=new java.util.Date(); 包说明 package-info.java 可以描述一个包的作用
// 这是一个测试包 package com . yan . test ;

 package-info中不能定义public和private的类,但是可以定义friendly的类及包常量,提供给统一包下面的类进行共享

package com .lb . a ; import lombok . Data ; class Constants {         public static final String NAME = "Yanjun" ; } @Data class Teacher { // 包中的类可以直接使用         private String className ; }

 范围限定词和包

// 定义不包含再其它类中的外部类时, class 前的范围限定词可以使用 public 或者默认 //public 到处可见 没有限定词只能同包访问 package com .lb ; public class A {         public static void main ( String args ){         B b = new B (); // 语法正确         } } class B {} package com . yan1 ; public class C {         public static void main ( String [] args ){         B b = new B1 (); // 语法错误,因为 B 类是默认 class         } } // 成员属性和成员方法 : 定义在 class 内部,除了构造器(匿名内部代码块)和析构器之外的其它内容 public class A {         public A (){} // 方法名称和类名称一致,包括大小写,而且没有返回类型声明 --- 构造器 // 构造器方法不能直接调用,只能通过 new 运算符进行间接调用 new A() 系统自动执行 A() 方法         public int A (){} // 语法正确,但是不是构造器。可以直接调用 ,new A().A() // 成员方法 public 范围限定词 返回数据类型 方法名称 ( 参数类型 1 形参名称 1 ,...){ // 如果没有返回值则 类型为 void                return xxx ; 返回值必须和返回类型声明一致;如果返回类型为 void 则 return 后面不能 带任何数据         } // 成员方法的调用为 对象名 . 方法名称 ( 实际参数列表 ) }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号