day06_02包 this 封装继承
来源:互联网 发布:vb与台达plc通讯 编辑:程序博客网 时间:2024/06/16 12:57
package:包
Package的命名规则:
import的两种机制:
单类型导入:例如:java.util.Date;
按需类型导入:例如:java.util.*;
注意:
1、import在package语句之后,在class之前
2、按需类型导入,不是导入所有的类,而是按照需要导入的类进行定位查找,找到之后导入进来,
编译效率比单一导入低,不影响运行效率
this
在每个类的内部,都有一个隐含的成员变量,该类的类型就是该类的类型,该成员变量的名称是this,this是一个引用,指向自身的对象。
this的用法:
1、this调用本类中的属性,也就是类中的成员变量
2、this调用本类中的其他方法
3、this调用本类中的其他构造方法,调用时要放在构造方法的首行
是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节
含义:隐藏对象内部的复杂性,只对外公开简单的接口,便于外界使用,从而提高系统的扩展性、可维护性
使用访问权限修饰符,实现封装
Java用于限定其他对象对该类内部定义的访问权限
有public、protected、default、private(不写)四个
例子:
public class Person {
private String name;
private intage;
public String getName(){
returnname;
}
public void setName(Stringname) {
this.name= name;
}
public intgetAge() {
returnage;
}
public void setAge(intage) {
if(age> 200){
thrownewRuntimeException("老妖怪....");
}
this.age= age;
}
}继承(extends)
继承:是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力
继承是对某一批类的抽象,从而实现对现实世界更好的建模
提高代码的复用性
子类继承父类的语法格式如下:
修饰符 class subclass extends superclass {…..}
Java继承:
1、Java只支持单继承,也就是只能继承一个类
2、如果一个类没有声明继承关系,默认继承Object类
3、子类继承父类全部的操作(除了构造方法),如果父类中的属性是private的,属于隐式继承,不能直接操作,可以通过set、get方法进行操作
例子:
/**
* 继承
*/
package com.feature;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Gun g=new Gun();
//System.out.println(g.getName());
Rifle r=new Rifle();
r.setName("AK-47");
r.setColor("black and yellow");
r.setSize(1000);
System.out.println("枪名:"+r.getName()+" "+"颜色"+r.getColor()+" "+"射程"+r.getSize());
Sniper s=new Sniper();
s.setName("L115A3");
s.setColor("black");
s.setSize(2475.0);
System.out.println("枪名:"+s.getName()+" "+"颜色"+s.getColor()+" "+"射程"+s.getSize());
}
}
class Gun
{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSize() {
return size;
}
public void setSize(double size) {
this.size = size;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
private double size;
private String color;
private void power() {
System.out.println("威力惊人");
}
}
class Rifle extends Gun
{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSize() {
return size;
}
public void setSize(double size) {
this.size = size;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
private double size;
private String color;
}
class Sniper extends Gun
{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSize() {
return size;
}
public void setSize(double size) {
this.size = size;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
private double size;
private String color;
}
- day06_02包 this 封装继承
- 封装.this.static.继承.final
- java学习之二:this 类方法,类变量,封装,包,继承,重载
- JavaScript闭包封装,继承
- javascript利用闭包this实现继承
- JavaScript的模块化:封装(闭包),继承(原型) 介绍
- 继承 封装
- 封装、继承
- 封装继承
- 封装继承
- 继承、封装
- 继承封装
- 封装继承
- 黑马程序员_五 【初识面向对象】【类、构造方法、对象】【封装、继承、多态】【this、super】
- this、类变量和类方法、抽象与封装、继承与多态
- 黑马程序员---基础-概述、封装、构造方法、this和static关键字、继承
- 黑马程序员--Java学习日记之面向对象(封装,this和static,继承)
- JAVA——(2)OOP面向对象、封装、继承、多态、this、构造方法
- 安装memcache
- python——asyncio模块实现协程、异步编程(三)
- 字符串插入的简单实现
- HDU2011
- 你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?
- day06_02包 this 封装继承
- POJ 3049 Securing the Barn 笔记
- mysql常用操作汇总(一)
- 【protobuf】protobuf Mac python3
- Java基础知识点笔记(一):java中的取整与四舍五入
- HDU 3652 B-number 数位dp+记忆化搜索
- 指针数组和数组指针
- CDOJ1057-秋实大哥与花
- 用c语言打印100-200之间的素数