java实训第十一天8/08
来源:互联网 发布:翟欣欣 知乎 编辑:程序博客网 时间:2024/06/08 01:16
1.修饰符
a)访问修饰符,结合 我们包
public
protected
默认(package),不写
private
注意:
a)修饰方法和属性的修饰:四个都可以
b)修饰我们的类:public、package
b)修饰符:
final:表示终态
可以修饰的内容:
修饰 类:该类没有子类:
String
System
Math
修饰 变量:(全局和局部),该变量的值不能修改,常量了
必须提供初始值
public class Test{
public final String name="aaa";
public void show(final int age){//在方法内部age的值不能改变
final double price=12;
}
public void chang(final int[] arrs){
arrs[0]=123;
//错误
arrs=new int[3];
}
}
修饰方法:该方法不能被继承
public class Test{
public final void show(){
}
}
static:表示静态的,就是在类加载的时候解析,和类的生命周期相同
static修饰属性和方法属于类,称为类成员,建议通过类名.的形式访问
修饰属性:该属性被所有对象共享
public class Test{
public static String str;
}
Test.str="";
修饰代码块:静态块
public class Test{
static{
//在类加载的时候执行,只执行一次
//用于加载某些驱动
}
}
修饰 方法:
public class Test{
public void print(){
show();
}
public static void show(){
// 错误
print();
Test t=new Test();
t.print();
}
}
Test.show();
注意:
1.static修饰只能直接方法static修饰的内容
2.static修饰的方法 不能被重写
abstract:表示抽象的
1.修饰类:该类为抽象类,可以包含抽象方法也可以没有
该类不能创建对象
除了可以包含抽象方法和不能创建对象外 和普通的类一样
public abstract class Student{
private String name;
public Student(){
}
public Student(String name){
}
}
继承自该类的子类必须实现其中抽象方法,否子类要变为抽象类
2.修饰方法:该方法不能有方法体,必须以;结束
该种方法要么存放在抽象类中要么存放在接口中
必须在子类中被实现
2.编写一个类要求在内存最多创建该类的 n 个实例
//数据链接池
int[] a={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[i++]);
}
1 3 5
int[] a={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[++i]);
}
2 4 下标越界
3.修饰符 中的三个 static final abstract
static final 可以同时存在
static final String name="";
abstract 不能和其他修饰并存
4.接口:
两类中存在共同的行为,但是不满足 is a 的关系,
还想实现多态,必须使用接口完成多态的实现
就把共有行定义到接口中 在其他类中把该行为实现 即可
5.测试人和车跑的行为
public class Person{
public void run(){
System.out.println("人在以每小时30公里的速度奔跑");//
}
}
public class Car{
public void run(){
System.out.println("车在以每小时300公里的速度奔跑");//
}
}
public class TestFactory{
public void testPerson(Person p){
p.run();
}
public void testCar(Car c){
c.run();
}
}
--接口
--1.接口中方法 都是抽象方法
--2.接口中属性 都是静态常量
接口是常量最佳的存放地点
接口中的属性必须大写两个单词之间 以下划线分割
--3.接口中没有构造方法,不能new
public interface IRun{
int a=12;//public static final int a=12;
public void run();
}
//java中一个类只能继承一个父类,可以实现多个接口 接口之间以逗号分隔
// 先继承后显示 Class extends SuperClass implements 接口1,接口2{}
public class Person implements IRun{
public void run(){
System.out.println("人在以每小时30公里的速度奔跑");//
}
}
public class Car implements IRun{
public void run(){
System.out.println("车在以每小时300公里的速度奔跑");//
}
}
public class TestFactory{
public void test(IRun r){
r.run();
}
}
接口中的行为(方法)越少越好,接口纯洁性(单一职责)
//1.9 beta
内部测试
公共测试
正式版本 发布
final版
6.测试程序员和软件工程师及市场人员的工作
程序员的工作:IT界的民工,面试
写代码
市场人员:
讲解业务
软件工程师:技术,表达
写代码
讲解业务:
父类:不行了,只能使用接口代替java中父类实现多态
写代码的接口
讲解业务的接口
工程师xx讲解业务
程序员xx在编写代码
7.接口和抽象类的区别:
a)类型不同:
接口是 接口类型 interface
抽象类 类 class
b)是否包含构造方法
接口中没有构造方法
抽象类中包含构造方法
c)普通方法
接口中全都是抽象方法
抽象类中可以是抽象方法也可以有普通方法
d)属性
接口中属性 都是 常量
抽象类中可以有普通的属性
e)继承
一个类只能继承一个抽象类,可以实现n个接口
8.类可以实现多个接口,但是接口不能继承类
接口可以继承一个或多个 接口
接口是否能被继承?
接口可以继承一个或多个 接口,类只能实现一个或多个接口
9.接口继承
public interface A{
int show();
}
public interface B{
String print();
}
public interface C extends A,B{
double add();
}
public class D implements C{
public int show(){
return 0;
}
public String print(){
return "";
}
public double add(){
return 0;
}
}
10.内部类:
一个类的内部 又包含了一个类
public class Outer{
//外部类不能直接访问内部类中的内容,要通过对象访问
class Inner{
//可以访问外部类中的所有内容
}
}
a)静态内部类,被static修饰的类
public class Outer{
static class Inner{
}
}
//在该类的外面访问
Outer.Inner inner=new Outer.Inner();
b)成员内部类,没有static修饰的类
public class Outer{
class Inner{
}
}
//在该类的外面访问
Outer o=new Outer();
Outer.Inner in=o.new Inner();
c)局部内部类,在某个方法中定义的类
public class Outer{
public void show(){
class Inner{
}
}
}
d)匿名内部类,直接new接口的情况
public interface IRun{
public void run();
}
public class Person implements IRun{
public void run(){
}
}
IRun r=new Person();
//匿名内部类
new IRun(){
public void run(){
}
};
//多线程
11.如何在java类中实现多继承,必须使用内部类完成
public abstract class A{
public void print(){
}
}
public abstract class B{
public void show(){
}
}
//通过内部类实现间接继承多个类
public class C {
public void print(){
D d=new D();
d.print();
}
public void show(){
E e=new E();
e.show();
}
class D extends A{
}
class E extends B{
}
}
a)访问修饰符,结合 我们包
public
protected
默认(package),不写
private
注意:
a)修饰方法和属性的修饰:四个都可以
b)修饰我们的类:public、package
b)修饰符:
final:表示终态
可以修饰的内容:
修饰 类:该类没有子类:
String
System
Math
修饰 变量:(全局和局部),该变量的值不能修改,常量了
必须提供初始值
public class Test{
public final String name="aaa";
public void show(final int age){//在方法内部age的值不能改变
final double price=12;
}
public void chang(final int[] arrs){
arrs[0]=123;
//错误
arrs=new int[3];
}
}
修饰方法:该方法不能被继承
public class Test{
public final void show(){
}
}
static:表示静态的,就是在类加载的时候解析,和类的生命周期相同
static修饰属性和方法属于类,称为类成员,建议通过类名.的形式访问
修饰属性:该属性被所有对象共享
public class Test{
public static String str;
}
Test.str="";
修饰代码块:静态块
public class Test{
static{
//在类加载的时候执行,只执行一次
//用于加载某些驱动
}
}
修饰 方法:
public class Test{
public void print(){
show();
}
public static void show(){
// 错误
print();
Test t=new Test();
t.print();
}
}
Test.show();
注意:
1.static修饰只能直接方法static修饰的内容
2.static修饰的方法 不能被重写
abstract:表示抽象的
1.修饰类:该类为抽象类,可以包含抽象方法也可以没有
该类不能创建对象
除了可以包含抽象方法和不能创建对象外 和普通的类一样
public abstract class Student{
private String name;
public Student(){
}
public Student(String name){
}
}
继承自该类的子类必须实现其中抽象方法,否子类要变为抽象类
2.修饰方法:该方法不能有方法体,必须以;结束
该种方法要么存放在抽象类中要么存放在接口中
必须在子类中被实现
2.编写一个类要求在内存最多创建该类的 n 个实例
//数据链接池
int[] a={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[i++]);
}
1 3 5
int[] a={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[++i]);
}
2 4 下标越界
3.修饰符 中的三个 static final abstract
static final 可以同时存在
static final String name="";
abstract 不能和其他修饰并存
4.接口:
两类中存在共同的行为,但是不满足 is a 的关系,
还想实现多态,必须使用接口完成多态的实现
就把共有行定义到接口中 在其他类中把该行为实现 即可
5.测试人和车跑的行为
public class Person{
public void run(){
System.out.println("人在以每小时30公里的速度奔跑");//
}
}
public class Car{
public void run(){
System.out.println("车在以每小时300公里的速度奔跑");//
}
}
public class TestFactory{
public void testPerson(Person p){
p.run();
}
public void testCar(Car c){
c.run();
}
}
--接口
--1.接口中方法 都是抽象方法
--2.接口中属性 都是静态常量
接口是常量最佳的存放地点
接口中的属性必须大写两个单词之间 以下划线分割
--3.接口中没有构造方法,不能new
public interface IRun{
int a=12;//public static final int a=12;
public void run();
}
//java中一个类只能继承一个父类,可以实现多个接口 接口之间以逗号分隔
// 先继承后显示 Class extends SuperClass implements 接口1,接口2{}
public class Person implements IRun{
public void run(){
System.out.println("人在以每小时30公里的速度奔跑");//
}
}
public class Car implements IRun{
public void run(){
System.out.println("车在以每小时300公里的速度奔跑");//
}
}
public class TestFactory{
public void test(IRun r){
r.run();
}
}
接口中的行为(方法)越少越好,接口纯洁性(单一职责)
//1.9 beta
内部测试
公共测试
正式版本 发布
final版
6.测试程序员和软件工程师及市场人员的工作
程序员的工作:IT界的民工,面试
写代码
市场人员:
讲解业务
软件工程师:技术,表达
写代码
讲解业务:
父类:不行了,只能使用接口代替java中父类实现多态
写代码的接口
讲解业务的接口
工程师xx讲解业务
程序员xx在编写代码
7.接口和抽象类的区别:
a)类型不同:
接口是 接口类型 interface
抽象类 类 class
b)是否包含构造方法
接口中没有构造方法
抽象类中包含构造方法
c)普通方法
接口中全都是抽象方法
抽象类中可以是抽象方法也可以有普通方法
d)属性
接口中属性 都是 常量
抽象类中可以有普通的属性
e)继承
一个类只能继承一个抽象类,可以实现n个接口
8.类可以实现多个接口,但是接口不能继承类
接口可以继承一个或多个 接口
接口是否能被继承?
接口可以继承一个或多个 接口,类只能实现一个或多个接口
9.接口继承
public interface A{
int show();
}
public interface B{
String print();
}
public interface C extends A,B{
double add();
}
public class D implements C{
public int show(){
return 0;
}
public String print(){
return "";
}
public double add(){
return 0;
}
}
10.内部类:
一个类的内部 又包含了一个类
public class Outer{
//外部类不能直接访问内部类中的内容,要通过对象访问
class Inner{
//可以访问外部类中的所有内容
}
}
a)静态内部类,被static修饰的类
public class Outer{
static class Inner{
}
}
//在该类的外面访问
Outer.Inner inner=new Outer.Inner();
b)成员内部类,没有static修饰的类
public class Outer{
class Inner{
}
}
//在该类的外面访问
Outer o=new Outer();
Outer.Inner in=o.new Inner();
c)局部内部类,在某个方法中定义的类
public class Outer{
public void show(){
class Inner{
}
}
}
d)匿名内部类,直接new接口的情况
public interface IRun{
public void run();
}
public class Person implements IRun{
public void run(){
}
}
IRun r=new Person();
//匿名内部类
new IRun(){
public void run(){
}
};
//多线程
11.如何在java类中实现多继承,必须使用内部类完成
public abstract class A{
public void print(){
}
}
public abstract class B{
public void show(){
}
}
//通过内部类实现间接继承多个类
public class C {
public void print(){
D d=new D();
d.print();
}
public void show(){
E e=new E();
e.show();
}
class D extends A{
}
class E extends B{
}
}
阅读全文
0 0
- java实训第十一天8/08
- 实训第十一天
- 实训第十一天
- MiniDB实训第十一天
- Java第十一天
- Java学习第十一天
- JAVA学习第十一天
- Java第十一天
- java第十一天
- Java学习第十一天
- Java学习第十一天
- java第十天~第十一天/10.28~10.29
- java第十一天 网络编程
- Java基础---第十一天 多线程
- JAVA 攻城狮 第十一天
- java基础第十一天 异常
- 2017/8/3 第十一天
- 传智博客JAVA基础第十一天
- 通俗易懂的Git使用入门教程
- X Chen笔记---老毛子Padavan固件安装17ce插件
- 计数排序详解
- Atitit 知名技术 it 互联网会议
- 记一次程序优化记录
- java实训第十一天8/08
- CSockets使用步骤
- atitit uke企业行政部 世界行政区域划分表 与邮政编码规划 v5 r88.xlsx
- Python join()方法
- 利用pandas进行数据预处理
- Android studio: Gradle sync failed
- 进程创建copy_process
- Atitit 互联网 技术公司的组织架构 事业部 分公司
- 统计某java文件中的代码行数、某个字符(char)、某字符串(String)出现的次数