Static了解和复习继承。
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了解和复习继承。的更多相关文章
- Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)
###继承: package com.shiyan; public class Animal { public int legNum; //动物四肢的数量 //类方法 public void bark ...
- this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符
1.this关键字的作用 1)调用本类中的属性; 2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用 3)表示当前对象; 2.匿名对象 ...
- static关键字续、继承、重写、多态
static关键字 1.对于实例变量,每个java对象都拥有自己的一份,存储在堆内存当中,在构造方法执行的时候初始化. 2.所有对象都拥有同一个属性时,并且值相同,建议声明为static变量. 3.静 ...
- 复习java数据库操作的总结
以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程 ...
- 巩固复习(Django最基础的部分_具体查看官方文档)
Django学习路1 1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库 ...
- java中类继承,到底继承了什么?
继承的最大好处就是为了实现代码的复用.那么,子类到底从父类得到的什么呢? 实例成员 父类的private成员不会被子类继承,子类不能访问.但是子类对象的确包含父类的私有成员. 父类的 包访问成员 继承 ...
- c++primer复习(六)—面向对象编程
1 C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定,两个条件(基类引用或指针.虚函数)缺一不可 虚函数的默认实参将发生静态绑定 2 继承层次的根类一般都需要定义虚析构函数 3 任意非st ...
- JAVA中的static修饰的方法不能被重写
可以重写静态方法,但重写后的静态方法不支持多态. 其实static根本就没有重写之说.static方法引用的时候应该用类名来引用,而不是对象.同时static方法不参与继承,所以在继承体系里面也不存在 ...
- 对比 PHP 中 new static() 与 new self()
通过new static()与new self()都能产生实例对象,new static()是在PHP5.3版本中引入的新特性,本文对二者稍作对比. 一.当直接通过本类创建实例时 class Test ...
随机推荐
- IEnumerable对象的Distinct方法重写
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource ...
- 数据库子查询和join的比较
子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作.子查询虽然很灵活,但是执行效率并不高. select goods_id,goods_name from go ...
- 2-1 如何抓不同的接口(手机抓包,web网页抓包)
举个例子,一个测试和安卓的对话. 测试:Android你这里有个bug Android:这是服务端的bug 测试:是你这里显示的不对 Android:你去看服务端返回数据,他不对,你会不会测试. 从这 ...
- 南昌邀请赛I.Max answer 单调栈+线段树
题目链接:https://nanti.jisuanke.com/t/38228 Alice has a magic array. She suggests that the value of a in ...
- Mybatis批量更新比较
https://blog.csdn.net/lu1024188315/article/details/78758943
- ibatis中的resultMap
优点: resultMap可以实现一种功能 当你是1对多 这种多张表查询的时候 你没办法 通过表连接来实现一个集合设置到一个实例里,但是通过resultMap里可以做到 根据关联的字段 查询到一个集合 ...
- Java:Map总结
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
- consul搭建
1.准备3台服务器 linux1 192.168.0.101 linux2 192.168.0.102 linux3 192.168.0.103 2.准备向Linux上传文件的工具Winscp 3.去 ...
- selenium3+python3.6爬页面源码的代码
from selenium import webdriver import unittest,time class my_test(unittest.TestCase): def setUp(self ...
- centos7下安装mysql会遇到的问题集合
1.mysqld_safe提示 command not found 解决方法 https://blog.csdn.net/lampqiu/article/details/79138961 2.Mysq ...