Java论述4
作者:互联网
1. Java的访问控制修饰符有哪些?各有什么访问权限?。
权限修饰符 | 同一个类 | 同一个包 | 不同包的子类 | 不同包的非子类 |
---|---|---|---|---|
private | Y | |||
(default) | Y | Y | ||
protected | Y | Y | Y | |
public | Y | Y | Y | Y |
2. 子类对于从父类继承的哪些属性与方法是可见的?
以public,protected修饰属性与方法的可见;
在同一个包内,默认访问权限的父类成员可见;
3. 什么是组合?有什么作用?请举例说明。
组合:某个类作为另一个类的数据成员
作用:实现类的复用,是编程逻辑更自然
//端点
public class Point {
private int x,y;
public Point(int x,int y) {
this.x = x;
this.y = y;
}
public int GetX() { return x; }
public int GetY() { return y; }
}
//线段
class Line {
private Point p1,p2; //两端点
Line(Point a, Point b) {
p1 = new Point(a.GetX(),a.GetY());
p2 = new Point(b.GetX(),b.GetY());
}
}
4. 什么是重载?有什么作用?请构造各种重载示例。
重载:同名的方法,参数个数,类型,顺序不同;
作用:通过相同的方法名,程序员只需通过提供不同的参数个数,类型,顺序调用不同功能的方法,编译器会明确。这些方法在大体功能上相近,但针对不同参数实现稍有区别。
public class OverloadDemo {
//1. test()方法第一次重载,没有参数
void test() {
System.out.println("No parameters");
}
//2. test()方法第二次重载,一个整型参数
void test(int a) {
System.out.println("a: " + a);
}
//3. test()方法第三次重载,两个整型参数
void test(int a, int b) {
System.out.println("a and b: " + a + " " + b);
}
//4. test()方法第四次重载,一个双精度型参数
double test(double a) {
System.out.println("double a: " + a);
return a * a;//返回a*a的值
}
}
public class Overload {
public static void main(String args[]){
OverloadDemo ob=new OverloadDemo();
double result;
ob.test(); //定义的是test()方法
ob.test(10); //定义的是test(int a)方法
ob.test(10,20); //定义的是test(int a,int b)方法
result=ob.test(123.23); //定义的是test(double a)方法
System.out.println("result of ob.test(123.23): "+result); //输出result的值
}
}
运行结果: No parameters
a: 10
a and b: 10 20
double a: 123.23
result of ob.test(123.23): 15185.6329
5. 什么是覆写?有什么作用?覆写父类方法的条件有哪些?请举例说明。
覆盖:子类对父类的同名方法(方法名称相同,参数相同,返回类型相同)重新进行定义
作用:针对子类特性,重写同名方法
class Parent {
public int getScore()
{ return 3; }
public String getCountryName()
{ return “China”; }
}
class Son extends Parent {
public int getScore(){
return 4;
}
}
public class RunSon{
public static void main(String args[]){
Son s = new Son();
System.out.println(s.getScore());
System.out.println(s.getCountryName());
}
}
out---
4
China
标签:Java,int,方法,println,test,论述,public,out 来源: https://blog.csdn.net/nebois/article/details/120833710