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. UI行业发展预测 & 系列规划的调整

    又双叒叕拖更了,上一篇还是1月22号更新的,这都3月9号了…… 前面几期把职业规划.能力分析.几个分析用的设计理论都写完了,当然实际工作中用到的方法论不止上面这些,后续会接着学习: 如果你的目标是一线 ...

  2. 斗地主 ai的一些资料

    zt https://programming.iteye.com/blog/1491470 https://blog.csdn.net/abc1234679/article/details/79458 ...

  3. openwrt添加内核模块

    进行目录package/kernel mkdir url-redirect cd url-redirect [zzh@KD1 url-redirect]$ tree . |-- Makefile `- ...

  4. kenlm的使用

    1.训练模型 install_path/bin/lmplz -o -S % -T /temp <text >text.arpa -o  表示n_gram 中的n(必选) -S  内存使用( ...

  5. IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署

    https://www.cnblogs.com/1024zy/p/6344000.html

  6. resin4配置之一个resin下多个app的正确配置方法

    可能是因为resin4出来不久的原因,很多人对一个resin配置多个app不是很了解,经过几个小时的研究,有了一些小的成果,在此分享一下: 在开发的时候很多人习惯了一个resin下配置多个app,习惯 ...

  7. RANSAC

    一.概述 RANSAC(RANdom SAmple Consensus)随机抽样一致,是用来从一组观测数据中估计数学模型参数的一种方法.由于是观测数据,避免不了有误差存在,当误差太大了就变成了无效数据 ...

  8. SpringBoot_配置文件

    Properties配置 SpringBoot中采用了大量的自动化配置,但是对开发者而言,在实际项目中不可避免会有一些需要自己手动配置,承载这些自定义配置的文件就是resources 目录下的appl ...

  9. qt网络通讯出现中文乱码

    转自:https://blog.csdn.net/i_fuqiang/article/details/21174227 发送: void TcpS::btn_send() { QByteArray d ...

  10. log4j的添加顺序

    1.log4j的架包 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api&l ...