10/21/22作业
来源:互联网 发布:雨露计划app软件 编辑:程序博客网 时间:2024/05/29 04:48
10/21.22作业
1:教练和运动员案例(学生分析然后讲解)
乒乓球运动员和篮球运动员。
乒乓球教练和篮球教练。
为了出国交流,跟乒乓球相关的人员都需要学习英语。
请用所学知识:
分析,这个案例中有哪些抽象类,哪些接口,哪些具体类
抽象类 person 教练和运动员都继承自person
乒乓球运动员和篮球运动员都继承自运动员
乒乓球教练和篮球教练继承自教练
定义一个学英语的接口 写一个接口的子实现类
class 子实现类implement 接口 来实现学英语的方法.
通过继承来实现:eg
public class learnEnglish extends Athlete implements English{
}
2.final关键字可以干什么?有什么特点?
final关键字可以修饰 类 方法和变量
对于变量:final修饰基本数据类型,基本类型的变量值不能改变.
引用数据类型:如果final修饰引用类型的变量,不能再在堆内存开辟新的空间,可以改吧成员变量的值.
对于方法:被final修饰的方法不能被覆盖
对于类:被final修饰的类不能被继承,final修饰的类是最终类
3. final关键字的面试题?
A:修饰局部变量
B:初始化时机
A: :final修饰基本数据类型,基本类型的变量值不能改变.
引用数据类型:如果final修饰引用类型的变量,不能再在堆内存开辟新的空间,可以改吧成员变量的值.
B:被final修饰的变量只能赋值一次,在构造方法前修饰
4.多态是什么,前提是什么?
一种事物在不同情况下的多种表示:eg 水冰 雾
1. 前提条件:1.必须要有继承关系
2. 子类必须重写父类方法
3. 有父类引用指向子类对象:向上转型
5.多态中成员访问的特点?
成员变量:编译左,运行左
成员方法:编译左,运行右(子类重写了父类方法)
静态方法:编译左,运行左.
6. 多态的好处及弊端?如何解决多态的弊端?
好处:提高了代码的维护性和扩展性
弊端:父类对象不能访问子类的特有功能.
解决方法:1.创建子类对象,通过子类对象调用子类的特有功能.(不支持)
需要在堆内存开辟新的空间.
2.向下转型:父类引用子类对象 因此子类也可以引用父类对象
向下转型:将父类的引用强制转换为子类的引用:
向下转型必须依附于向上转型.
7. 什么是向上转型?什么是向下转型?
向上转型:父类引用指向子类对象.
向下转型:将父类的引用强制转换为子类的引用
8:抽象类概述及其特点?
不同人的习惯不同,不能将人定义为一个具体类:而是声明一个(abstract)
当过一个类中有抽象方法的时候,这个类一定要定义为抽象类
特点:一个类中可以有抽象方法.也可以有非抽象方法 .
抽象类不能实例化:不能创建对象.
抽象类多态:强制子类必须重写当前抽象的父类的所有抽象方法
9:抽象类成员特点?
成员变量:可以是变量也可以是常量
构造方法:抽象类可以有后构造方法:包括无参构造和有参构造
成员方法:可以是抽象方法也可以是非抽象方法.
10:抽象类的小问题
A:一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
可以定义为抽样类,抽样类中可以有抽样方法也可以有非抽样方法.
B:abstract不能和哪些关键字共存
final private static
11:接口的概述及其特点?
接口体现的是一种扩展功能: eg(部分人可以干的事情)
接口的表示方法:interface:接口 interface 接口名{
}
接口理念的方法只能是抽象方法.且不能有构造方法.不能实例化
通过子实现类进行实例化.
12:接口的成员特点?
成员变量:只能是常量:存下默认修饰符:public static final(建议自己给出默认修饰符)
没有构造方法
成员方法:默认修饰符为public abstract
13:抽象类和接口的区别?
成员变量:抽象类:成员变量可以是常量,也可以是变量.
接口:成员变量只能是一常量,默认修饰符 public static final
构造方法:
抽象类:可以有有参和无参构造
接口:没有构造方法
成员方法:
抽象类:可以有抽象方法也可以有非抽象方法
接口:只能是抽象方法 默认修饰符:public abstract
10/22日作业
1. 形式参数和返回值问题
形式参数是基本类型:要什么数据类型呢 在传递是就传什么数据类型.
形式参数是引用类型
1. 具体类型:创建该类对象
返回值:直接返回该类对象
2. 抽象类:形参是抽象类,需要定义一个抽象类的子类来实例化.
返回值:返回该抽象类的子类对象
3. 接口:形式参数是接口,定义一个子实现类,通过接口多态进行参数传递.
返回值:需要返回该接口的子实现类对象
2. 内部类的概述及访问特点
在一个类中定义另一个类,把这种情况叫做内部类:
内部类可以直接访问外部类的成员
外部类想要访问内部类的成员,需要创建内部类的对象访问该内部类的成员.
3. 内部类的分类
内部类分为:成员内部类:在外部类的成员位置
局部内部类:在外部的局部变量位置定义这个类
4. 匿名内部类的格式和应用及面试题
是内部类的简化格式
格式: new 接口名或者类名(){
方法重写
}
Eg: Eg: interface Inter{
//抽象功能
public abstract void show() ;
}
class Outer{
//成员方法
public void method(){ //一个方法的时候
new Inter(){
@Override
public void show() {
System.out.println("show");
}
}.show() ;
面试题
interfaceInter { void show(); }
class Outer { //补齐代码 }
class OuterDemo {
public static voidmain(String[] args) {
Outer.method().show();
}
}
要求在控制台输出”HelloWorld”
public interface Text2{
voidshow();
}
classOuter5 {
publicstatic Text2 method(){
returnnew Text2(){
@Override
publicvoid show() {
System.out.println("HelloWorld");
}
};
}
}
public class OuterDemo{
publicstatic void main(String[] args) {
Outer5.method().show();
}
}
C语言题
1.输入一行字符,分别统计出其中字母,空格,数字和其他字符的个数.
#include<stdio.h>
voidmain()
{ char c;
int letters=0,space=0,dight=0,other=0;
printf("请输入一行字符:");
while((c=getchar())!='\n'){
if(c>='a'&&c<='z'||c>='A'&&c<='Z'){
letters++;
}else if(c==' '){
space++;
}else if(c>='0'&&c<='9'){
dight++;
}else if{
other++;
}
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",letters,space,dight,other);
return 0;
}
2.求下列式子的值:1-1/2+1/3-1/4+…+1/99-1/100
#include<stdoi.h>
int main()
{
int i;
float sum=1.0,
float a,
float j=1;
for(i=1;i<=100;i++)
{
a=j/i;
sum+=a;
j=-j;
}
printf("1-1/2+1/3-1/4+.....+1/99-1/100=%f\n",sum);
}
4. 矩阵转置:将一个m行n列矩阵(即m*n矩阵)的每一行转置为另一个n*m的矩阵相应列
例如2*3矩阵转置后
1 2 3 1 4
4 5 6 2 5
3 6
- 10/21/22作业
- 作业22
- 作业10
- 作业1-22
- 算法作业22
- 2017.10.22作业
- 10.21/22作业
- 作业4,21
- 21天作业1
- 算法作业21
- 2017.06.21日作业
- 2017.9.21作业
- 2017.11.21大作业
- 作业1-10
- 第10次作业
- 课堂作业10
- mashen8.10--作业
- 10-31作业
- Throwing Balls into the Baskets LightOJ
- 计算机网络(四) --- 数据链路层
- 关于iOS11、iPhone X、Xcode9 适配详解
- Can't process attribute android:fillColor="@color/text_gray": references to other resources are not
- c++实现顺序表
- 10/21/22作业
- HAOI 2010 软件安装(Tarjan+树形dp)
- Web Service (014---webservice使用Jquery、Ajax请求WebService所遇到的跨域问题)
- java CommomUtils工具类
- my stl study-road<template.1>
- Gym 100112AAaah!
- 当装了多个tomcat后,如何修改tomcat端口
- python3 类对象的定义、方法
- JQGrid 动态添加 Select