Static了解

  static加在局部变量的前面改变其存储类型使之成为静态局部变量,会延长它的生存周期,但是不会改变其作用域。

  静态成员是属于类的,而不是属于某个对象的。即便没有任何一个实例,类的静态成员变量也已经存在了,因此静态成员除了能够和普通成员一样通过对象访问外,还可以通过类名访问。

  static函数可以直接调用非静态函数,但是非静态函数不可直接调用静态函数。因为静态成员在类实例化对象之前就已经分配空间了,而非静态成员在类实例化对象之后才有内存空间。

  复习:继承

  继承的概念:如果有一些共有的属性和方法可以提取到父类中继承父类使用,减少了代码重复,方便了代码的修改,更加的清晰。

  在java中继承的关键字是extends,在c#中继承的关键字是冒号‘:’。

  子类可以继承父类的那些东西呢?

1.继承public和protectend修饰的属性和方法,因为public是共有的,protectend是包级别的,但是无论子类和父类是否在一个包里都可以继承父类的东西。

2.继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里。

3.无法继承private修饰的属性和方法。

4.无法继承父类的构造方法。比方说属性和方法是财产,构造是思想,你可以继承父类的财产,但是父类的思想你继承不了。

  子类可以重写父类的方法,为满足父类方法满足不了的需求。

  例:

  //父类 宠物类

  public class pet{

  //这里为了快捷一点就把变量定义成了public 没有做封装。

  public String name;

  public int age;

  public int sum;

  public void print(){

  System.out.print("我的名字叫:"+name+“我的年龄”+age+“我与主人的亲密度:”+sum);

}

}

  //子类 狗狗类

  public class dog{

  public String strain;//宠物的品种

  public void print(){

super.print();//super语句必须写在方法的第一行。

//父类没有定义品种这个属性而子类有要用到 父类的方法没有打印品种,这个时候子类重写父类方法把要满足的需求填上。这就是重写。。。

system.out.print("我的品种是"+strain);

  }

}

  

    实现方法重写满足的要求

1.重写方法和被重写方法必须具有相同的方法名。

2.重写方法和被重写方法必须具有相同的参数列表。

3.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。

4.重写方法不能小于被重写方法的访问权限。

  抽象

抽象类和抽象方法都通过abstract关键字来修饰

抽象类不能实例化,抽象类中可以没有,有一个或多个抽象方法,甚至全部方法都可以是抽象方法。

抽象方法只有声明方法,没有实现方法。有抽象方法的类一定是抽象类,子类必须重写所有的抽象方法才能实例化,否则子类也是一个抽象类。

每天进步一点点..

Static了解和复习继承。的更多相关文章

  1. Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)

    ###继承: package com.shiyan; public class Animal { public int legNum; //动物四肢的数量 //类方法 public void bark ...

  2. this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

    1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     ...

  3. static关键字续、继承、重写、多态

    static关键字 1.对于实例变量,每个java对象都拥有自己的一份,存储在堆内存当中,在构造方法执行的时候初始化. 2.所有对象都拥有同一个属性时,并且值相同,建议声明为static变量. 3.静 ...

  4. 复习java数据库操作的总结

    以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程 ...

  5. 巩固复习(Django最基础的部分_具体查看官方文档)

    Django学习路1 1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库 ...

  6. java中类继承,到底继承了什么?

    继承的最大好处就是为了实现代码的复用.那么,子类到底从父类得到的什么呢? 实例成员 父类的private成员不会被子类继承,子类不能访问.但是子类对象的确包含父类的私有成员. 父类的 包访问成员 继承 ...

  7. c++primer复习(六)—面向对象编程

    1 C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定,两个条件(基类引用或指针.虚函数)缺一不可 虚函数的默认实参将发生静态绑定 2 继承层次的根类一般都需要定义虚析构函数 3 任意非st ...

  8. JAVA中的static修饰的方法不能被重写

    可以重写静态方法,但重写后的静态方法不支持多态. 其实static根本就没有重写之说.static方法引用的时候应该用类名来引用,而不是对象.同时static方法不参与继承,所以在继承体系里面也不存在 ...

  9. 对比 PHP 中 new static() 与 new self()

    通过new static()与new self()都能产生实例对象,new static()是在PHP5.3版本中引入的新特性,本文对二者稍作对比. 一.当直接通过本类创建实例时 class Test ...

随机推荐

  1. zookeeper测试代码

    package com.sjt.test; import java.util.List; import java.util.concurrent.CountDownLatch; import org. ...

  2. java之路 打印1到100之间的数

    class Demo12{ public static void main(String[] args){ /** * 打印1到100之间的数 * 循环条件:1~100 * * 计数器 * */ // ...

  3. linux端口详解大全

    0|无效端口,通常用于分析操作系统 1|传输控制协议端口服务多路开关选择器 2|管理实用程序 3|压缩进程 5|远程作业登录 7|回显 9|丢弃 11|在线用户 13|时间 17|每日引用 18|消息 ...

  4. RequestMethod.Post&RequestMethod.GET

    1.GET和POST都是将数据送到服务器 2.GET通过URL请求传递用户的数据,将表单各字段名称以及内容,以成对的字符串连接,置于action所指程序的URL后:POST方法通过HTTP post ...

  5. loadtxt函数

    numpy.loadtxt numpy.loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, convert ...

  6. 常用API String

    Java的API以及Object类 Java的API Java的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JD ...

  7. 使用EasyUI的Datagrid的Editor进行行编辑,Enter回车结束编辑,并开启新的一行。

    //新增数据function add() { if (Index == undefined) { row = { move_date: '', start_time: '', end_time: '' ...

  8. MySQL事物管理

    sql语句对数据库操作构成事物. 事物的特性:ACID •Atomicity(原子性):一个事物要么全都被执行,要么全都不执行,不会存在执行结束在中间环节.如果事物在执行过程中发生异常,则会回滚到事物 ...

  9. (PMP)第3章-----项目经理的角色

    项目经理的能力: 1.技术项目管理 2.领导力 3.战略和商务管理 ----------------------------------------------- 管理:指挥从一个位置到另一个位置 领 ...

  10. temp-重庆银行

    重庆现场部署环境(开发环境)说明 : 数据库 172.16.69.95:1521:orcl      ilink/ilink123        sys/manager(dba权限) 1, Linux ...