Java基础-11(类、抽象类、接⼝作为⽅法参数和返回值以及
常⽤API)
个⼈博客:
不同修饰符使⽤细节
常⽤来修饰类、⽅法、变量的修饰符
public 权限修饰符,公共访问, 类,⽅法,成员变量
protected 权限修饰符,受保护访问, ⽅法,成员变量
默认什么也不写 也是⼀种权限修饰符,默认访问, 类,⽅法,成员变量
private 权限修饰符,私有访问, ⽅法,成员变量
static 静态修饰符 ⽅法,成员变量
final 最终修饰符 类,⽅法,成员变量,局部变量
abstract 抽象修饰符 类 ,⽅法
我们编写程序时,权限修饰符⼀般放于所有修饰符之前,不同的权限修饰符不能同时使⽤;
同时,abstract与private不能同时使⽤;
同时,abstract与static不能同时使⽤;
同时,abstract与final不能同时使⽤。
修饰类能够使⽤的修饰符
修饰类只能使⽤public、默认的、final、abstract关键字,使⽤最多的是 public关键字
public class Demo {} //最常⽤的⽅式
class Demo2{}
public final class Demo3{}
public abstract class Demo4{}
修饰成员变量能够使⽤的修饰符
public : 公共的
protected : 受保护的
: 默认的
private :私有的
final : 最终的
static : 静态的
使⽤最多的是 private
public int count = 100;
protected int count2 = 100;
int count3 = 100;
private int count4 = 100; //最常⽤的⽅式
public final int count5 = 100;
public static int count6 = 100;
修饰构造⽅法能够使⽤的修饰符
public : 公共的
protected : 受保护的
: 默认的
private :私有的
使⽤最多的是 public
public Demo(){} //最常⽤的⽅式
protected Demo(){}
Demo(){}
private Demo(){}
修饰成员⽅法能够使⽤的修饰符
public : 公共的
protected : 受保护的
: 默认的
private :私有的
final : 最终的
static : 静态的
abstract : 抽象的
使⽤最多的是 public
public void method1(){}//最常⽤的⽅式
protected void method2(){}
void method3(){}
private void method4(){}
public final void method5(){}
public static void method6(){}//最常⽤的⽅式
public abstract void method7();//最常⽤的⽅式
类作为⽅法参数与返回值
类作为⽅法参数
在编写程序中,会经常碰到调⽤的⽅法要接收的是⼀个类类型的情况,那么这时,要向⽅法中传⼊该类的对象。如下代码演⽰:
class Person{
public void show(){
System.out.println("show⽅法执⾏了");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//创建Person对象
Person p = new Person();
//调⽤method⽅法
method(p);
}
//定义⼀个⽅法method,⽤来接收⼀个Person对象,在⽅法中调⽤Person对象的show⽅法
public static void method(Person p){
p.show();
}
}
类作为⽅法返回值
写程序调⽤⽅法时,我们以后会经常碰到返回⼀个类类型的返回值,那么这时,该⽅法要返回⼀个该类的对象。如下代码演⽰:
class Person{java接口有没有构造方法
public void show(){
System.out.println("show⽅法执⾏了");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//调⽤method⽅法,获取返回的Person对象
Person p = method();
//调⽤p对象中的show⽅法
p.show();
}
//定义⼀个⽅法method,⽤来获取⼀个Person对象,在⽅法中完成Person对象的创建
public static Person method(){
Person p = new Person();
return p;
}
}
抽象类作为⽅法参数与返回值
抽象类作为⽅法参数
开发中,抽象类作为⽅法参数的情况也很多见。当遇到⽅法参数为抽象类类型时,要传⼊⼀个实现抽象类所有抽象⽅法的⼦类对象。如下代码演⽰:
//抽象类
abstract class Person{
public abstract void show();
}
class Student extends Person{
@Override
public void show() {
System.out.println("重写了show⽅法");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//通过多态的⽅式,创建⼀个Person类型的变量,⽽这个对象实际是Student
Person p = new Student();
//调⽤method⽅法
method(p);
}
//定义⼀个⽅法method,⽤来接收⼀个Person类型对象,在⽅法中调⽤Person对象的show⽅法
public static void method(Person p){//抽象类作为参数
//通过p变量调⽤show⽅法,这时实际调⽤的是Student对象中的show⽅法
p.show();
}
}
抽象类作为⽅法返回值
抽象类作为⽅法返回值的情况,也是有的,这时需要返回⼀个实现抽象类所有抽象⽅法的⼦类对象。如下代码演⽰:
//抽象类
abstract class Person{
public abstract void show();
}
class Student extends Person{
@Override
public void show() {
System.out.println("重写了show⽅法");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//调⽤method⽅法,获取返回的Person对象
Person p = method();
//通过p变量调⽤show⽅法,这时实际调⽤的是Student对象中的show⽅法
p.show();
}
//定义⼀个⽅法method,⽤来获取⼀个Person对象,在⽅法中完成Person对象的创建
public static Person method(){
Person p = new Student();
return p;
}
}
接⼝作为⽅法参数与返回值
接⼝作为⽅法参数
接⼝作为⽅法参数的情况是很常见的,经常会碰到。当遇到⽅法参数为接⼝类型时,那么该⽅法要传⼊⼀个接⼝实现类对象。如下代码演⽰。
//接⼝
interface Smoke{
public abstract void smoking();
}
class Student implements Smoke{
@Override
public void smoking() {
System.out.println("课下吸⼝烟,赛过活神仙");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//通过多态的⽅式,创建⼀个Smoke类型的变量,⽽这个对象实际是Student
Smoke s = new Student();
//调⽤method⽅法
method(s);
}
//定义⼀个⽅法method,⽤来接收⼀个Smoke类型对象,在⽅法中调⽤Smoke对象的show⽅法
public static void method(Smoke sm){//接⼝作为参数
//通过sm变量调⽤smoking⽅法,这时实际调⽤的是Student对象中的smoking⽅法
sm.smoking();
}
}
接⼝作为⽅法返回值
接⼝作为⽅法返回值的情况,在后⾯的学习中会碰到。当遇到⽅法返回值是接⼝类型时,那么该⽅法需要返回⼀个接⼝实现类对象。如下代码演⽰。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论