问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 封装

发布网友 发布时间:2022-04-25 22:24

我来回答

5个回答

热心网友 时间:2022-06-18 03:40

public class Student2 {
 private String name;
 private String age;
 private String sex;
 private String major;
 
 public Student2(String name, String age) {
  super();
  this.name = name;
  this.age = age;
  this.sex = "男";
  this.major = "JAVA";
 }
 
 public Student2(String name, String age, String sex, String major) {
  super();
  this.name = name;
  this.age = age;
  this.sex = sex;
  this.major = major;
 }
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getMajor() {
  return major;
 }
 public void setMajor(String major) {
  this.major = major;
 }
 public String take() {
  return "大家好,我叫" + name + ",今年" + age + "岁,性别" + sex + ",专业是" + major;
 }
}

student2类

public class Student {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Student2 s1 = new Student2("张三", "18");
  Student2 s2 = new Student2("李四", "15", "女", "C++");
  System.out.println(s1.take());
  System.out.println(s2.take());
 }
}

测试方法

结果:

大家好,我叫张三,今年18岁,性别男,专业是JAVA
大家好,我叫李四,今年15岁,性别女,专业是C++

 

你是要这个东西么

追问“分别以两种方式完成对两个Student2对象的初始化工作”这句是指构造一次,main方法中传值一次,共两次初始化是这个意思吗????

热心网友 时间:2022-06-18 03:41

public class Students2 {
private String name;
private String sex;
private int age;
private String major;
public Students2(String name,int age){
this.sex = "男";
this.major = "Java";
this.name = name;
this.age = age;
}
public Students2(String name,String sex,int age,String major){
this.name = name;
this.sex = sex;
this.age = age;
this.major = major;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}

热心网友 时间:2022-06-18 03:41

Student2.java

package test;
public class Student2 {
    private String name;
    private int age;
    private String gender;
    private String major;
    public Student2(String name, int age) {
        this(name, age, "男", "java");
    }
    public Student2(String name, int age, String gender, String major) {
        super();
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.major = major;
    }
    
    public void selfIntroce() {
        System.out.println( "我叫" + name + ", " + age + "岁, " + gender + "性, 我的专业是" + major + "。");
    }
}

TestStudent2.java

package test;
public class TestStudent2 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        Student2 stu = new Student2("张三", 20);
        stu.selfIntroce();
        stu = new Student2("李四", 19, "女", "C++");
        stu.selfIntroce();
    }
}

热心网友 时间:2022-06-18 03:42

c#中类的封装、继承和多态,在C#中可使用类来达到数据封装的效果,这样就可以使数据与方法封装成单一元素,以便于通过方法存取数据。除此之外,还可以控制数据的存取方式。面向封装
在C#中可使用类来达到数据封装的效果,这样就可以使数据与方法封装成单一元素,以便于通过方法存取数据。除此之外,还可以控制数据的存取方式。
面向对象程序设计中一般以类作为数据封装的基本单位。类将数据和操作数据的方法结合成一个单位。在设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。如此就可以达到封装数据的目的,方便以后维护、升级,也可以在操作数据时多一层判断,提高安全性。
封装还可以解决数据存取权限问题,使用封装可以将数据隐藏起来,形成一个封闭的空间,用户可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。如果一个类中包含敏感数据,则有些用户可以访问,有些用户却不能访问。如果不对这些数据的访问加以*,那么后果是很严重的。所以,在编写程序时,要对类的成员使用不同的访问修饰符,从而定义它们的访问级别。
继承
继承是OOP最重要的特性之一。任何类都可以从另外一个类继承,即这个类拥有它所继承类的所有成员。在OOP中,被继承的类称为父类或基类。C#
提供了类的继承机制,但C# 只支持单继承,不支持多重继承,即在C# 中一次只允许继承一个类,不能同时继承多个类。
利用继承机制,用户可以通过增加、修改或替换类中方法对这个类进行扩充,以适应不同的应用要求。利用继承,程序开发人员可以在已有类的基础上构造新类。继承使得类支持分类的概念。在日常生活中很多东西比较有条理,那是因为它们有着很好的层次分类。如果不用层次分类,则要对每个对象定义其所有的性质。使用继承后,每个对象就可以只定义自己的特殊性质。每一层的对象只需定义本身的性质,其他性质可以从上一层继承下来。
在C# 中,接口允许多继承,可以通过继承多个接口来实现类似于C++中的多重继承。
在继承一个基类时,成员的可访问性是一个重要的问题。子类不能访问基类的私有成员,但是可以访问其公共成员。子类和外部代码都可以访问公共成员。这就是说,只使用这两个可访问性,就可以让一个成员被基类和子类访问,同时也可以被外部的代码访问。
为了解决这个问题,C#
还提供了第3种可访问性:protected。只有派生类才能访问protected成员,基类和外部代码都不能访问protected成员。
除了成员的保护级别外,用户还可以为成员定义其继承行为。基类的成员可以是虚拟的,成员可以由继承它的类重写。子类可以提供成员的其他执行代码。这种执行代码不会删除原来的代码,仍可以在类中访问原来的代码,但外部代码不能访问它们。如果没有提供其他执行方式,外部代码就访问基类中成员的执行代码。
虚拟成员不能是私有成员,因为成员不能同时由子类重写,也不能访问它。基类还可以定义为抽象类。抽象类不能直接实例化,要使用抽象类就必须继承这个类,然后再实例化。
多态
继承使得派生与基类的类在方法上有一定的重叠,因此可以使用相同的语法处理从同一个基类实例化的对象。
多态使得子类的实例可以直接赋予基类的变量,不需要进行强制类型转换,直接就可以通过这个变量调用基类的方法。
在派生于同一个类的不同对象上执行任务时,多态是一种极为有效的技巧,使用的代码最少。可以把一组对象放到一个数组中,然后调用它们的方法,这些对象不必是相同类型的对象,在这种情况下多态的作用就体现出来了。当然如果它们都继承自某个类,可以把这些派生类都放到一个数组中。如果这些对象都有同名方法,可以调用每个对象的同名方法。

热心网友 时间:2022-06-18 03:42

看看书本的例子,这个很基础很基础的面向对象的概念
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
密室逃脱8迷失乐园攻略大全 密室逃脱8迷失游乐园通关攻略 密室逃脱8逃出红色豪宅第7关怎么过_第7关卡通关图文攻略 密室逃脱8卖火柴的小女孩旋转六边形介绍_密室逃脱8卖火柴的小女孩旋转六... 跨国行李托运 房屋复式是什么意思? 什么叫复式房子 请问 为了减掉身上的赘肉 除了锻炼以外 在饮食上要注意什么 请详细点... 淘宝买家购物满500元后使用信用卡的时候就不能支付 笔记本电脑如何保护 水韵江苏旅游年卡和苏州休闲年卡哪个划算 3室1厅保洁擦玻璃大概要多少钱 英雄联盟在国外什么情况 在java中什么是封装,举一个例子说明一下 擦玻璃家政的费用一般是多少?请大家给我点参考价格 皇室战争电磁炮卡组 Java:如何封装集合 争议:未来电竞比赛是否能在国家电视台直播? Java中什么叫封装啊? 星际争霸2直播上哪看? java怎么把数据封装list 为什么游戏主播的工资这么高? java中封装是什么? java如何封装静态类到一个方法里? 自己想配一台电脑,自己拟定了一个配置单,希望大家能优化下!顺带解答一下推流用电脑有什么要求? JAVA类的封装是什么意思? 星际争霸2的职业选手除了在teamliquid直播之外,还在哪里直播吗? 视频赚钱靠谱么 JAVA中什么是封装?能不能用点通俗的语言详细解释一下?或者来段小代码段... 以现在直播平台这么多,我咋没看到有哪个国外平台直播 如何对java源代码进行封装? zombie barricades是谁 擦玻璃多少钱一平方 在哪能看到DYRUS的直播.或者是最近的排位视频. 想找保洁公司擦窗户,多少钱? java中封装的好处 上海市二房二厅二卫(擦玻璃窗)保洁需多少钱 哪里能看星际争霸2世界比赛直播?或者比赛视频 射手属于火象星座 明天LOL全明星赛,什么手机软件能看直播。 家政保洁擦一个窗户平均多少钱? 战争雷霆 TwitchTV错误是怎么回事? 射手是什么象星座? 单位办公楼擦玻璃报价 twitch手机版怎么设置中文 射手座是什么象星座 射手座是什么象的星座? 保洁服务擦玻璃需不需要另外收费? 射手座是火象星座吗 合肥新房保洁价格是多少?有参考吗? 射手 是风 还是火